<karolherbst>
zmike: rusticl on top of zink is next :P
heat has quit [Remote host closed the connection]
<zmike>
I've been preparing my whole life for this moment
<zmike>
though I will have to do some work to try implementing big image/sampler limits
<karolherbst>
I know, and the time has finally come
rasterman- has quit []
<zmike>
is there a flag that gets passed at context creation to indicate that it's a CL context?
<zmike>
that would be very useful to me
<karolherbst>
there isn't
<zmike>
hm
<zmike>
I think you should add one
<zmike>
because I would want to change some behavior for that
<karolherbst>
the idea was to let it basically look like gl compute, but... maybe we have to give up on that
<zmike>
I mainly would want it for descriptor management
<karolherbst>
mhh, why though?
<zmike>
zink has a caching mode that is targeted at mobile gpus where cpu is limited, and I think extending this to fit CL's higher image/sampler limits will be a waste of time
<karolherbst>
I don't think maintining two paths it's really worth it, if you can map both APIs into one
<zmike>
so I would just use the other mode for CL and save time
<karolherbst>
ahh
<karolherbst>
I see
<karolherbst>
well
<zmike>
I can already toggle this at runtime and context creation, but I need a hint to inform
<karolherbst>
for embedded profiles you only have to support 8/8/8
<karolherbst>
so..
<zmike>
sure
<zmike>
but the caching would need to support 128
<zmike>
and I don't want to do that
<zmike>
if I'm caching that much then the overhead isn't worthwhile
<karolherbst>
mhhh
<karolherbst>
wouldn't it be enough to see if the caching would fit the amount of images/textures/samplers the device supports?
<karolherbst>
although I guess you'd like to know how much the aPI would start using...
<zmike>
no, I'm talking about the mechanics of caching
<zmike>
it's optimized for exactly 32 images
<zmike>
as a maximum
<zmike>
so as soon as it goes over that it will explode
<karolherbst>
right
<zmike>
and rewriting it to be better in that case will be very time-consuming
<zmike>
I don't think it's worth the time
<karolherbst>
probably not
<zmike>
there are already some flags on context creation, so I don't think it would be a big deal to add another one to hint to drivers they should optimize for different behavior
<karolherbst>
when do you need to know, at context creation time?
heat has quit [Read error: Connection reset by peer]
heat has joined #dri-devel
Kayden has quit [Quit: Leaving]
Kayden has joined #dri-devel
jimjams has joined #dri-devel
h0tc0d3 has joined #dri-devel
aravind has quit [Ping timeout: 480 seconds]
aravind has joined #dri-devel
heat has quit [Ping timeout: 480 seconds]
cheako has quit [Quit: Connection closed for inactivity]
Daanct12 has quit [Ping timeout: 480 seconds]
aravind has quit [Ping timeout: 480 seconds]
mszyprow has joined #dri-devel
mszyprow has quit [Ping timeout: 480 seconds]
Duke`` has joined #dri-devel
h0tc0d3 has quit [Quit: Leaving]
alarumbe has quit [Ping timeout: 480 seconds]
sravn has joined #dri-devel
mszyprow has joined #dri-devel
adjtm has quit [Quit: Leaving]
mszyprow has quit [Ping timeout: 480 seconds]
jimjams has quit [Quit: Connection closed for inactivity]
gouchi has joined #dri-devel
rasterman has joined #dri-devel
sdutt has quit [Ping timeout: 480 seconds]
Haaninjo has joined #dri-devel
rkanwal has joined #dri-devel
mclasen has joined #dri-devel
icecream95 has quit [Ping timeout: 480 seconds]
Haaninjo has quit [Quit: Ex-Chat]
heat has joined #dri-devel
pcercuei has joined #dri-devel
alyssa has joined #dri-devel
<alyssa>
Are names of #defines considered UABI?
<alyssa>
(in UABI headers)
<alyssa>
I assume yes, so userspace code can keep source compatibility in addition to binary compatibility
<alyssa>
Follow on, can a UABI header have `#define OLD_NAME NEW_NAME` and change the name in the same commit, deprecating the old name but allowing old userspace compat?
<alyssa>
or maybe I should just do that define in Mesa and not bother the kernel because the problem case realistically only happens internal to the driver
<alyssa>
Context:
<alyssa>
DRM_FORMAT_MOD_ARM_16X16_BLOCK_U_INTERLEAVED is the modifier for u-interleaved tiling
<alyssa>
It usually uses 16x16 tiles, hence the name.
<alyssa>
However, the tile size is actually format-dependent
<emersion>
> can a UABI header have `#define OLD_NAME NEW_NAME` and change the name in the same commit, deprecating the old name but allowing old userspace compat
<emersion>
yes that should be fine
<alyssa>
You get 16x16 for normal format | DRM_FORMAT_MOD_ARM_16X16_BLOCK_U_INTERLEAVED
<alyssa>
..but you get 4x4 for a block-compressed format (DXTn, ASTC, etc) with DRM_FORMAT_MOD_ARM_16X16_BLOCK_U_INTERLEAVED
<alyssa>
You can kinda rationalize with DXTn and ETC use 4x4 blocks, and a 4x4 tiling of 4x4 blocks is still a 16x16 tiling
<alyssa>
but then you get to ASTC which has variable block sizes
<alyssa>
and can do, like, ASTC 12x12 | DRM_FORMAT_MOD_ARM_16X16_BLOCK_U_INTERLEAVED
<alyssa>
which is an effective 48x48 tiling... figuring that out from the format+modifier is confusing as hell. there's no 16x16 in it.
<alyssa>
or worse, ASTC 5x5 | DRM_FORMAT_MOD_ARM_16X16_BLOCK_U_INTERLEAVED is an effective 20x20 tiling, not even divisible by 15
<alyssa>
*16
<alyssa>
so... DRM_FORMAT_MOD_ARM_BLOCK_U_INTERLEAVED seems like a less confusing name, at least that's the semantic we use for panfrost
<alyssa>
(panfrost and lima are the only users of the modifier, TTBOMK)
<alyssa>
That being said, I don't think ASTC ever gets dma-buf exported/imported so maybe this is all silliness.
<alyssa>
(And the extended sense of the modifier is only for internal use so we should just alias the names internally)
<karolherbst>
alyssa: breaking compilation is usually not a huge problam as you can always insert backwards compatible defines, what matters is, that already built binaries don't break for no reason
<alyssa>
karolherbst: sure, it's the same modifier at any rate
<alyssa>
I guess there's no fourcc code for ASTC anyway, so it's all theoretical.
<karolherbst>
so.. now what did jekstrand mess up :D
gouchi has quit [Remote host closed the connection]
ella-0 has joined #dri-devel
<alyssa>
why do you assume it's jekstrand's fault? :-p
ella-0_ has quit [Read error: Connection reset by peer]
<karolherbst>
because his patches made it break :P
<karolherbst>
although now I am questioning why samplers_used isn't set :)
<karolherbst>
hah, still jekstrands fault, but different MR
<karolherbst>
yeah so our cl image lowering pass didn't set samplers_used :)