ChanServ changed the topic of #dri-devel to: <ajax> nothing involved with X should ever be unable to find a bar
pcercuei has quit [Quit: dodo]
sdutt has joined #dri-devel
columbarius has joined #dri-devel
nchery has quit [Ping timeout: 480 seconds]
co1umbarius has quit [Ping timeout: 480 seconds]
heat has quit [Remote host closed the connection]
heat has joined #dri-devel
<icecream95> Fun.. it seems I'm getting GPU faults because the high 32 bits of a function parameter are getting overwritten
<karolherbst> :(
camus has quit [Remote host closed the connection]
camus has joined #dri-devel
<icecream95> Wait.. it seems that the problem is actually constant inlining being done based on values from another function
<karolherbst> huh?
<karolherbst> that shouldn't happen
<karolherbst> icecream95: I hope you are simply skipping inlining, aren't you?
<icecream95> karolherbst: This is after emitting backend IR from NIR
jewins has quit [Ping timeout: 480 seconds]
<karolherbst> ahh
<icecream95> bi_opt_copy_prop uses a global table of indices, which doesn't work because they get reused between functions
<icecream95> Maybe it was not a good idea to use a single list of blocks across all functions
<karolherbst> "PASSED 57 of 57 tests." :3
<karolherbst> icecream95: yeah.. I suspect that _tons_ of passes will break in random places
<karolherbst> I am getting close
<karolherbst> jekstrand sampler stuff totally broke image support in iris though
* karolherbst updates piglit
<karolherbst> "Pass 2165 Fails 8 Crashes 3 Timeouts 0" :3
ybogdano has quit [Ping timeout: 480 seconds]
nchery has joined #dri-devel
rasterman- has joined #dri-devel
rasterman has quit [Ping timeout: 480 seconds]
Daanct12 has joined #dri-devel
<zmike> !
<karolherbst> mhhh, my printf is a little wrong
<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?
<zmike> yes
<zmike> or screen creation
<zmike> either
Emantor has quit [Quit: ZNC - http://znc.in]
<zmike> but I think screen doesn't have flags
<karolherbst> we could add a hin saying how many images/textures will be used at most
Emantor has joined #dri-devel
<zmike> hm
<karolherbst> *hint
<karolherbst> nine kind of has a similiar issue
<zmike> I saw in the backlog
<zmike> might be good?
<zmike> dunno
<karolherbst> don't know if it's 128 textures or samplers one need to support
<karolherbst> but I assume textures
<zmike> yeah
<karolherbst> or maybe it was just 64, but more than 32 :D
<zmike> it's 128
<karolherbst> okay
<karolherbst> thing is.. I need a screen to query driver caps
<zmike> that's why I said just passing a flag to context creation should be fine
<karolherbst> yeah
<zmike> leave it to the driver to do what's necessary
<zmike> if anything
<zmike> maybe no other driver would use it
<karolherbst> we also have a PIPE_CONTEXT_COMPUTE_ONLY flag which is hardly used afaik
<zmike> hm could work?
<karolherbst> I doubt it
<karolherbst> ehh wait
<zmike> it's not like it's a big deal in any case
<karolherbst> clover is the only user
<zmike> I'm effectively just setting ZINK_DESCRIPTORS=lazy
<karolherbst> heh
<karolherbst> I even use that inside rusticl already
<zmike> perfect, then I can jam it in and be done with it
<karolherbst> yeah
<karolherbst> although I think the cap is wrong
<karolherbst> _but_ we can just adjust the comment
<karolherbst> it's really just a "no non compute shaders" thing than a "compute only" thing
<zmike> I think airlied had a zink branch that could successfully run a very simple cl test
<karolherbst> cool
<karolherbst> I've also got told that there is a magic vk extension for supporting real buffers
<zmike> host buffers you mean?
<zmike> yeah I never got around to hooking it up since I didn't have a need
<karolherbst> nope, this other thing, for real pointers
<zmike> yeah that's what I meant
<karolherbst> ahh
<karolherbst> we might want a vk ext to pass in kernel spir-vs
<karolherbst> would make everything _sooo_ much easier for us
<zmike> dunno, that sounds like jekstrand work to me
<zmike> could just do a local mesa extension for now
<ajax> karolherbst: "i need a screen" - do you though
<karolherbst> yeah or an ext which just accepts a nir_shader :D
<ajax> pretty sure there's at least one driver feature that works for screen==NULL
<ajax> which is fine, here, since it's a property of the driver not the screen, really
<karolherbst> mhh
<karolherbst> even if you want to know limits?
<ajax> okay yeah fair
<karolherbst> I somehow like my printf impl better than the clover ones
<karolherbst> *one
<karolherbst> it's a bit cheaty, but...
ngcortes has quit [Remote host closed the connection]
HankB has quit [Remote host closed the connection]
HankB has joined #dri-devel
<karolherbst> piglit: [710/710] skip: 51, pass: 627, fail: 28, timeout: 1, crash: 3
HankB has quit [Remote host closed the connection]
HankB has joined #dri-devel
<karolherbst> ahh mostly API validation bits, nice
mclasen has quit [Ping timeout: 480 seconds]
<airlied> there were some issues with compute only contexts on radeonsi, around blitting etc, but vk should always have transfers
aravind has joined #dri-devel
sumits has quit [Quit: ZNC - http://znc.in]
andrey-konovalov has quit []
andrey-konovalov has joined #dri-devel
sumits has joined #dri-devel
heat has joined #dri-devel
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 :)
<karolherbst> another try
Duke`` has quit [Ping timeout: 480 seconds]
<karolherbst> mhhh "Pass 2160 Fails 13 Crashes 3 Timeouts 0"
<karolherbst> that's better than 35 fails
<alyssa> Woo!
<karolherbst> there are still regressions :p
<alyssa> from clover?
<karolherbst> nah, jekstrand worked on supporting 128 textures, and that regressed a few bits
<alyssa> oh
<karolherbst> but.. the weird part is, that it's about fp configs :O
Danct12 has quit [Remote host closed the connection]
Danct12 has joined #dri-devel
<karolherbst> ohh I am stupid
<karolherbst> it's now exposing the full profile
<karolherbst> so that's why some stuff fails :)
<alyssa> :D
<karolherbst> jekstrand: yeah soo... it crashes on the 32 binding table entries and genxml says there are just 32 slots :)
* karolherbst hacks up disk_cache for rusticl instead
anujp has quit [Ping timeout: 480 seconds]
sneil has quit []
sneil has joined #dri-devel
Duke`` has joined #dri-devel
alyssa has quit [Quit: leaving]
anujp has joined #dri-devel
nchery has quit [Read error: Connection reset by peer]
gouchi has joined #dri-devel
<jekstrand> karolherbst: I'm not surprised it might regress things. I've not even looked at the Intel CI results yet.
<karolherbst> jekstrand: yeah.. the cl image lowering pass needs adjustments
<karolherbst> but besides that it looks okay
<karolherbst> but the binding table issues isn't fixed so things doesn't improve either
Duke`` has quit [Ping timeout: 480 seconds]
<karolherbst> mhh, what to do about disk_cache_create ...
<karolherbst> uhm.. i disk_cache even thread safe?
<karolherbst> I guess yes?
Viciouss has quit [Remote host closed the connection]
Viciouss has joined #dri-devel
Viciouss has quit []
Viciouss has joined #dri-devel
sdutt has joined #dri-devel
Duke`` has joined #dri-devel
mclasen has quit [Ping timeout: 480 seconds]
Lucretia-backup has quit [Read error: Connection reset by peer]
Lucretia has joined #dri-devel
<karolherbst> jekstrand: ehhh.. we might have a problem caching the clc to spirv thing at all, because include paths and this kind of crap :(
<karolherbst> I am inclined to skip caching if any include path is set in the compile args
<karolherbst> nooo... rust doesn't allow self: &Option<Self> :(
adjtm has joined #dri-devel
<airlied> karolherbst: clc shouldnt be using any user supplied paths
<karolherbst> airlied: clc as in OpenCL C kernels
<airlied> ah not libclc
<karolherbst> I already cache the libclc thing as clc has an API for that, but now I want to cache the source code as well
<karolherbst> I expect _huge_ benefits
<karolherbst> my CTS run on iris went down from ~8 to ~6 minutes just by using -base.h instead of the full one
<karolherbst> I am actually curious what happens with a full ache
<karolherbst> *cache
Haaninjo has joined #dri-devel
nchery has joined #dri-devel
anholt has quit [Ping timeout: 480 seconds]
anholt has joined #dri-devel
<karolherbst> mhhh linking with libclc is expensive :(
<karolherbst> we might want to scan for external symbols and skip linking
dj-death has quit [Ping timeout: 480 seconds]
mclasen has joined #dri-devel
Duke`` has quit [Ping timeout: 480 seconds]
MajorBiscuit has joined #dri-devel
MajorBiscuit has quit [Ping timeout: 480 seconds]
rkanwal1 has joined #dri-devel
rkanwal has quit [Read error: Connection reset by peer]
Haaninjo has quit [Quit: Ex-Chat]
gouchi has quit [Remote host closed the connection]
<karolherbst> nir_load_libclc_shader is like 32% even though it's cached :O
<karolherbst> 60% of that is nir_validate
eukara has quit [Read error: Connection reset by peer]
MajorBiscuit has joined #dri-devel
rasterman has quit [Quit: Gettin' stinky!]
maxzor has joined #dri-devel
eukara has joined #dri-devel
<karolherbst> 2850288 -> 1521092 bytes :3
rasterman has joined #dri-devel
maxzor has quit [Ping timeout: 480 seconds]
Danct12 has quit [Remote host closed the connection]
rasterman has quit [Quit: Gettin' stinky!]
<karolherbst> linking is also quite expensive.. odd
<karolherbst> ehh debug build
MajorBiscuit has quit [Ping timeout: 480 seconds]
pcercuei has quit [Quit: dodo]
morphis has quit [Ping timeout: 480 seconds]
morphis has joined #dri-devel
ubitux has left #dri-devel [WeeChat 3.4]
eukara has quit [Read error: Connection reset by peer]
alanc has quit [Remote host closed the connection]
alanc has joined #dri-devel
eukara has joined #dri-devel