ChanServ changed the topic of #dri-devel to: <ajax> nothing involved with X should ever be unable to find a bar
<zmike> daniels: naturally I didn't account for that MR also flaking
nchery is now known as Guest2914
nchery has joined #dri-devel
<karolherbst> jekstrand: I tried to make it not suck too much (like iterating twice), but maybe you have some ideas on how to improve it: https://gitlab.freedesktop.org/karolherbst/mesa/-/commit/7f8c172e22d7523a8487aa1143fd7e3818d54093
<karolherbst> heh.. something messed up my tabs
<zmike> dcbaker: I'm just gonna merge them in a few hours when everyone's asleep and ci is quieter
iive has quit []
Guest2914 has quit [Ping timeout: 480 seconds]
<karolherbst> mhh.. one kernel regresses heavily though.. wondering why that is
<karolherbst> but that's for tomorrow me to find out
co1umbarius has joined #dri-devel
columbarius has quit [Ping timeout: 480 seconds]
minecrell6 has joined #dri-devel
ybogdano has quit [Ping timeout: 480 seconds]
soreau has quit [Read error: Connection reset by peer]
soreau has joined #dri-devel
minecrell has quit [Ping timeout: 480 seconds]
<daniels> zmike: what did it flake on?
heat_ has quit [Remote host closed the connection]
<zmike> dunno, I'm at the pub
<daniels> fair
<zmike> 16087
<zmike> who could have guessed that dri and wgl ci jobs would be prone to failure
gawin has quit [Quit: Konversation terminated!]
sdutt has quit [Ping timeout: 480 seconds]
shankaru has quit [Quit: Leaving.]
<daniels> mm yeah, 22.1 needs to get a backport of disabling Windows CI or just do it at very quiet times
<zmike> backport seems good
<daniels> I’m in bed so that one’s yours I’m afraid
sdutt has joined #dri-devel
<zmike> still at the pub but will ram it through when I get home
rkanwal has quit [Ping timeout: 480 seconds]
ManMower has joined #dri-devel
Daanct12 has joined #dri-devel
<zmike> alright time to slam some patches into staging
sdutt has quit [Ping timeout: 480 seconds]
ngcortes has quit [Remote host closed the connection]
milek7 has quit [Remote host closed the connection]
milek7 has joined #dri-devel
sdutt has joined #dri-devel
neonking has quit [Remote host closed the connection]
Company has quit [Quit: Leaving]
laolmtdea^ has joined #dri-devel
aravind has joined #dri-devel
icecream95 has quit [Remote host closed the connection]
icecream95 has joined #dri-devel
slattann has quit []
aravind has quit [Read error: Connection reset by peer]
Danct12 has quit [Ping timeout: 480 seconds]
jewins has quit [Ping timeout: 480 seconds]
slattann has joined #dri-devel
slattann has quit [Remote host closed the connection]
jolan has quit [Quit: leaving]
jolan has joined #dri-devel
eukara has quit []
eukara has joined #dri-devel
shankaru has joined #dri-devel
Duke`` has joined #dri-devel
sdutt has quit [Read error: Connection reset by peer]
* airlied wonders if marge has headed into the woods
sdutt has joined #dri-devel
itoral has joined #dri-devel
tarceri_ has quit [Remote host closed the connection]
danvet has joined #dri-devel
sravn has quit [Ping timeout: 480 seconds]
sravn_ has joined #dri-devel
YuGiOhJCJ has joined #dri-devel
Duke`` has quit [Ping timeout: 480 seconds]
nchery is now known as Guest2939
Guest2939 has quit [Read error: Connection reset by peer]
nchery has joined #dri-devel
sravn_ has quit [Ping timeout: 480 seconds]
pnowack has joined #dri-devel
mvlad has joined #dri-devel
craftyguy has quit [Quit: craftyguy]
sravn_ has joined #dri-devel
craftyguy has joined #dri-devel
sravn_ has quit [Ping timeout: 480 seconds]
sravn_ has joined #dri-devel
craftyguy has quit []
craftyguy has joined #dri-devel
tzimmermann has joined #dri-devel
craftyguy has quit []
jkrzyszt has joined #dri-devel
craftyguy has joined #dri-devel
craftyguy has quit []
craftyguy has joined #dri-devel
frieder has joined #dri-devel
craftyguy has quit []
craftyguy has joined #dri-devel
craftyguy has quit []
fxkamd has quit []
craftyguy has joined #dri-devel
craftyguy has quit []
craftyguy has joined #dri-devel
craftyguy has quit []
craftyguy has joined #dri-devel
craftyguy has quit []
craftyguy has joined #dri-devel
craftyguy has quit []
<tzimmermann> javierm, do you know anything about mipi dbi?
<javierm> tzimmermann: not really, I think marex, mripard or noralf do
<tzimmermann> it copies a BO buffer into an internal transport buffer, then sets the 'window size' (the changed output), and finally sends it via MIPI_DCS_WRITE_MEMORY_START
<tzimmermann> my question is: what happens if 'rect' is not the complete screen. does it still work correctly?
<tzimmermann> it sets a window size and apparently only transfers a buffer with the size of the rectangle
bbrezill1 has quit []
<tzimmermann> but the call to mipi_dbi_buf_copy() expects a pointer to the top-most pixel of the framebuffer
bbrezillon has joined #dri-devel
<tzimmermann> i.e., we're not sending the correct portion of the framebuffer
<tzimmermann> ^ marex, mripard, noralf, javierm
<javierm> tzimmermann: I see. But shouldn't drm_fb_memcpy() handle that ?
<javierm> that is, only copying the correct portion of the rectangle into dst ?
<tzimmermann> javierm. then it's even more broken. https://elixir.bootlin.com/linux/v5.17.4/source/drivers/gpu/drm/drm_format_helper.c#L63 expects dst to point to the top-most pixel in rect
<tzimmermann> but https://elixir.bootlin.com/linux/v5.17.4/source/drivers/gpu/drm/drm_format_helper.c#L140 expects dst to point to the top-most pixel in the overall framebuffer
<javierm> tzimmermann: yeah, I was just looking at that function and it makes it clear in the comment: https://elixir.bootlin.com/linux/v5.17.4/source/drivers/gpu/drm/drm_format_helper.c#L49
<tzimmermann> so it's inconsistent
<tzimmermann> it apparently does the right thing for plain transfers: https://elixir.bootlin.com/linux/v5.17.4/source/drivers/gpu/drm/drm_mipi_dbi.c#L293
<javierm> tzimmermann: yes
<tzimmermann> this code needs a fix. all the format helpers expect dst to point to the first pixel within 'rect'
itoral has quit [Remote host closed the connection]
itoral has joined #dri-devel
<javierm> tzimmermann: well, I guess it depends on how MIPI_DCS_WRITE_MEMORY_START and MIPI_DCS_SET_{COLUMN,PAGE}_ADDRESS work
<javierm> tzimmermann: because dst (the tr pointer) is only used as a temporary buffer to send video data over MIPI DSI afaiu
<javierm> as long as the helpers are clipping src correctly (which they do), it should work if the MIPI DSI commands expect the portion to update to be at the start of tr
itoral has quit [Remote host closed the connection]
<javierm> tzimmermann: or maybe I'm missing something
itoral has joined #dri-devel
<javierm> tzimmermann: if for example dst was memory-mapped I/O of a framebuffer and src a shadow buffer I would agree but in this case is different I believe
tursulin has joined #dri-devel
itoral has quit [Remote host closed the connection]
itoral has joined #dri-devel
rasterman has joined #dri-devel
itoral has quit [Remote host closed the connection]
itoral has joined #dri-devel
lynxeye has joined #dri-devel
<pq> Igor's VKMS patch series could use opinions from actual kernel developers to sanity-check my suggestions.
ahajda has joined #dri-devel
<tzimmermann> javierm, but drm_fb_swab() doesn't work that way
<tzimmermann> if updates dst somewhere within rect
<tzimmermann> i.e., it respects rect->x,y
<tzimmermann> while the other functions do not
<tzimmermann> either is wrong
rgallaispou has quit [Quit: Leaving.]
<javierm> tzimmermann: ohh, right
<tzimmermann> i guess, i'm going to change drm_fb_swab() to behave like the rest of the functions
iive has joined #dri-devel
<javierm> tzimmermann: I was going to suggest that, specially since is even mentioned in the kernel-doc of that function: https://elixir.bootlin.com/linux/v5.17.4/source/drivers/gpu/drm/drm_format_helper.c#L113
<tzimmermann> oh!
<tzimmermann> from what I can tell, the only callsites are in drm_mipi_dbi.c and gud/gud_pipe.c
<tzimmermann> these seem correct already
<tzimmermann> i.e., the behave as if dst is at the right location.
<tzimmermann> javierm, but looking at it again, drm_fb_swab() seems correct :D
<tzimmermann> it just doesn't clip dst anywhere. it uses an unintuitive loop :/
* tzimmermann is confused
<javierm> tzimmermann: yeah, I noticed that too. Maybe you can also define a lines variable in drm_fb_swab() to make it easier to read?
<javierm> s/define/declare
<tzimmermann> javierm, i'm working on a patchset that unifies these conversion helpers into a single implementation. drm_fb_swab() is different, which apparently confused me quite a bit :) as you say, i'm going to make something that looks like the rest of these helpers
<javierm> tzimmermann: cool
<javierm> tzimmermann: I was confused as well on a first read, but probably biased from your previous comments :)
<tzimmermann> :D
<tzimmermann> i merged the recent rgb-conversion funcs today. so i'll provide something soonish
pjakobsson_ has joined #dri-devel
pjakobsson has quit [Ping timeout: 480 seconds]
pcercuei has joined #dri-devel
rgallaispou has joined #dri-devel
itoral has quit [Remote host closed the connection]
itoral has joined #dri-devel
itoral has quit [Remote host closed the connection]
itoral has joined #dri-devel
Daanct12 has quit [Quit: Leaving]
tanty has quit []
tanty has joined #dri-devel
cheako has quit [Quit: Connection closed for inactivity]
gawin has joined #dri-devel
Company has joined #dri-devel
sdutt has quit [Ping timeout: 480 seconds]
itoral has quit [Remote host closed the connection]
itoral has joined #dri-devel
rkanwal has joined #dri-devel
<karolherbst> jekstrand: currently wondering how to make use of ubos in rusticl, but it kind of feels like that I potentially would have to do it as a lowering pass. For kernel inputs that feels trivial, but for constant mem that can be very ugly :(
heat has joined #dri-devel
slattann has joined #dri-devel
itoral has quit [Remote host closed the connection]
itoral has joined #dri-devel
Lucretia has quit []
itoral has quit [Remote host closed the connection]
itoral has joined #dri-devel
Lucretia has joined #dri-devel
itoral has quit [Remote host closed the connection]
itoral has joined #dri-devel
itoral has quit [Remote host closed the connection]
itoral has joined #dri-devel
itoral has quit [Remote host closed the connection]
itoral has joined #dri-devel
icecream95 has quit [Ping timeout: 480 seconds]
flacks has quit [Quit: Quitter]
flacks has joined #dri-devel
ella-0_ has joined #dri-devel
ella-0 has quit [Read error: Connection reset by peer]
itoral has quit [Remote host closed the connection]
qyliss has quit [Quit: bye]
itoral has joined #dri-devel
qyliss has joined #dri-devel
itoral has quit [Remote host closed the connection]
itoral has joined #dri-devel
itoral has quit [Remote host closed the connection]
itoral has joined #dri-devel
itoral has quit [Remote host closed the connection]
itoral has joined #dri-devel
itoral has quit [Remote host closed the connection]
itoral has joined #dri-devel
itoral has quit [Remote host closed the connection]
itoral has joined #dri-devel
<karolherbst> let's see if that breaks anything
<karolherbst> let's see how we can make mem_constant use ubos as well
FireBurn has quit [Quit: Konversation terminated!]
pnowack has quit [Quit: pnowack]
macromorgan is now known as Guest2968
macromorgan has joined #dri-devel
mclasen has joined #dri-devel
Guest2968 has quit [Ping timeout: 480 seconds]
mclasen has quit [Ping timeout: 480 seconds]
itoral has quit []
<karolherbst> jekstrand: soo.. I think before we can use ubos for constant*, we have to figure out how to express a NULL pointer here, because it's totally legal to pass in a NULL pointer into a kernel
<pq> that reminded me of http://c-faq.com/null/varieties.html
<karolherbst> pq: yeah..
<karolherbst> I kind of execpt we might want to express a NULL ubo as -1, 0
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
<karolherbst> mhh.. I think I'll implement read_write images, because fixing llvm is more painful :D
jewins has joined #dri-devel
<zmike> anholt: I've spent some more time examining https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13439 and I think it should be a more reasonable approach now
<zmike> should also eliminate 100+ hw jobs for llvmpipe changes
jewins has quit []
sdutt has joined #dri-devel
<jekstrand> karolherbst: You can look at what anv_nir_apply_pipeline_layout does. Basically, we look for any cases where we can chase the deref chain all the way back to the variable and then we emit an offset calculation and the load/store op directly. If that takes care of all the uses of a binding, then we just have the bound buffer.
<karolherbst> jekstrand: mhhh, that still doesn't help with NULL pointers, does it?
heat has quit [Read error: No route to host]
heat has joined #dri-devel
<karolherbst> anyway.. I think we have to just deal with passing around the index/offset. there are situations where we can't use ubos, but those won't apply for now (e.g. SVM supported devices can only do it, if all constant* args are marked as "no SVM pointer")
<karolherbst> I don't understand why that needs to be set on a kernel object, but...
fxkamd has joined #dri-devel
<javierm> tzimmermann: I'm having build issues with your latest drm_display_helper patches...
<javierm> tzimmermann: if for example you have CONFIG_DRM_DISPLAY_HDMI_HELPER=y and CONFIG_DRM_DISPLAY_HELPER=m
<tzimmermann> javierm, ok
Haaninjo has joined #dri-devel
<tzimmermann> javierm, but theese are DisplayPort functions, not hdmi. you need to enable CONFIG_DRM_DISPLAY_DP_HELPER
cef has quit [Ping timeout: 480 seconds]
<javierm> tzimmermann: yes, but what if you don't need it ?
<karolherbst> jekstrand: anyway.. my plan was kind of to just adjust the variable modes or something, because in practice we should be allow to follow up all chains and if not, then it's probably undefined behavior
maxzor has joined #dri-devel
<tzimmermann> javierm, where do these references come from?
<tzimmermann> javierm, do you have DRM_DP_CEC enabled?
<javierm> tzimmermann: I do and also CONFIG_DRM_DP_AUX_CHARDEV
<javierm> both to 'y'
cef has joined #dri-devel
<tzimmermann> javierm, they should require DP in some way, but don't
<tzimmermann> that problem was present before
<tzimmermann> i don't think anyone noticed
<MrCooper> zmike: FWIW, the r300 driver uses the draw module as well; panfrost also includes draw_context.h, not sure it actually uses any of it though
<tzimmermann> we could make them select DP and Display helper
<tzimmermann> OTOH, they could depend on DP_HELPER
<tzimmermann> they are probably not useful otherwise
<tzimmermann> i don't know what the better option is
<tzimmermann> is there anything in the docs
<tzimmermann> ?
fxkamd has quit []
<zmike> MrCooper: huh good to know on r300, I missed that
<zmike> the panfrost one looks like an unused include
<javierm> tzimmermann: this seems to work https://paste.centos.org/view/raw/5d832b68
<zmike> ah, but r300 has no CI jobs
<zmike> so no changes
<tzimmermann> javierm, they have config options in menuconfig. are they still visible?
<jekstrand> karolherbst: For const -> UBO, you can do that, potentially. But you have to be careful because you need to ensure that every use of a deref can be a UBO before you do that.
<javierm> tzimmermann: they are, yes
<tzimmermann> javierm, care to send a patch?
<jekstrand> karolherbst: Or you can duplicate the deref chain to make a UBO version. Maybe with a hash table cache mapping constant derefs to UBO derefs.
<javierm> tzimmermann: sure, in a meeting now but I'll do it later
<tzimmermann> javierm, but i don't know if it's the correct solution; cc jani and Lyude as well
<karolherbst> jekstrand: yeah.. dunno.. I was kind of hoping to directly emit ubos, because you really really have to mess up badly in order to not start from an ubo or vec2 address
<gawin> if someone from eu has a place for hosting r300 CI then I can donate thin client (r300 in thin clients is kinda rare)
<karolherbst> you can't use constant ptrs for generic ones, so that makes things easier
<karolherbst> for drivers like llvmpipe it still makes sense to use pointers though I think
<javierm> tzimmermann: yes, I'll also look deeper at these drivers and understand better. This was just a quick workaround to be my kernel building again to test other stuff
<javierm> *to get my kernel
<ajax> we should try to get an r500 into ci at least
<karolherbst> uhh.. seems like iris isn't ready for read_write images :(
<karolherbst> maybe not even gallium is
<karolherbst> or maybe I am doing silly things.. let's see
cef has quit [Ping timeout: 480 seconds]
cef has joined #dri-devel
<jekstrand> karolherbst: Not sure what you mean by "directly emit UBOs"
<karolherbst> jekstrand: just treat them as mem_ubo all the way up
<jekstrand> karolherbst: Sure. You can treat nir_var_mem_constant as nir_address_format_32bit_index_offset. It doesn't have to be 64-bit addresses like global because you can't do generic poitners with constant.
<karolherbst> right.. I think I tried but then lower_io asserted on stuff... I might take another look once I figure read_write images out
MrCooper_ has joined #dri-devel
MrCooper has quit [Read error: Connection reset by peer]
minecrell6 has quit []
minecrell6 has joined #dri-devel
<karolherbst> mhhh
<karolherbst> I think we insert a f2i for int coords
<karolherbst> ehh.. seems like the kernel is doing that
alyssa has joined #dri-devel
<alyssa> Is the meaning of winsys_handle->stride defined for nonlinear surfaces?
<karolherbst> mhhhhhh
<karolherbst> Expected (0.184314,0,0,1)
<karolherbst> got (6.5861e-44,0,0,1.4013e-45)
<karolherbst> 1.4013e-45 == 0x1
Danct12 has joined #dri-devel
<ajax> alyssa: i think that means "logical width in pixels" there since it can't mean "horizontal distance between vertically adjacent pixels" too like it does for linear
<karolherbst> 6.5861e-44 == 0x2f ~= 256 * 0.184314
<ajax> (bytes not pixels? whichever)
<alyssa> ajax: The hardware quantity is "number of bytes between vertically adjacent pixels (aligned to block boundaries etc)"
Duke`` has joined #dri-devel
tzimmermann has quit [Quit: Leaving]
<karolherbst> I think iris/isl choose the wrong image format
<alyssa> similarly for PIPE_RESOURCE_PARAM_STRIDE
<daniels> alyssa: yes, the meaning of stride is defined per-modifier, in drm_fourcc.h
<karolherbst> SIGNED and UNSIGNED image format seems to just work
<alyssa> daniels: Per-modifier. Lovely. We all know Arm has documented its modifiers extensively.
<karolherbst> the float fail also looks interesteind
<karolherbst> Expected (-1.27092e-24,0,0,1),
<karolherbst> got (-1.27092e-24,0,0,1.4013e-45), error of 0
frieder has quit [Remote host closed the connection]
<daniels> alyssa: if it's not sufficiently well defined then it shouldn't have been merged tbh
<karolherbst> noooooo
<karolherbst> ...
<alyssa> ?
<karolherbst> :(
ybogdano has joined #dri-devel
<karolherbst> let me hack all of that in and see if I can make it work with the hacks there
tango_ has quit [Quit: I'm never quite so stupid as when I'm being smart (Linus van Pel)]
tango_ has joined #dri-devel
mbrost has joined #dri-devel
<jekstrand> karolherbst: Wut?
<karolherbst> ¯\_(ツ)_/¯
<karolherbst> currently checking if it helps, but...
<jekstrand> karolherbst: That looks a lot like the code we have for fquantize
<karolherbst> seems like something is a bit odd with image loads
<karolherbst> ahh
<karolherbst> let's see
<jekstrand> We could add a NIR opcode for flushing normals
<jekstrand> Or we could do it in the back-end, maybe?
<karolherbst> yeah.. not sure
<karolherbst> but I also don't know how that would help actually
<karolherbst> soo the value we get is 1.4013e-4
<karolherbst> 5
<karolherbst> which would stay the same with this workaround, no?
<jekstrand> Yeah, that's a normal
<karolherbst> I meant "1.4013E-45" I didn't copy the 5
<karolherbst> so that's just 0x1
<jekstrand> Oh
<jekstrand> Yeah, I think that's a denormal
<karolherbst> yeah
<karolherbst> and the cTS expects 1.0
<jekstrand> not 0?
<karolherbst> maybe 0 is fine, given that it's CL_R
<jekstrand> Paste the failure?
<alyssa> 16:08 < jekstrand> We could add a NIR opcode for flushing normals
<alyssa> fcanonicalize?
<karolherbst> fun... CL_RGBA passes
<karolherbst> mhh. let me fix it in the CLC source :D that sounds easier
<jekstrand> alyssa: That converts to fp16 AND flushes denormals
<jekstrand> karolherbst: Well, that's just us being stupid somewhere.
<jekstrand> Why are we not getting 1.0 for CL_R
<karolherbst> beats me
<jekstrand> Are we using a uint format? I suspect we are
<karolherbst> could be
<jekstrand> or something
<jekstrand> INTEL_DEBUG=bat should help
<karolherbst> ISL_FORMAT_R32G32B32A32_FLOAT
<jekstrand> that's not right for CL_R
<jekstrand> You might be looking at a buffer
<jekstrand> Can you paste me the bat
<karolherbst> okay
<jekstrand> Surface Format: 215 (ISL_FORMAT_R32_UINT)
<jekstrand> Why is that happening? IDK
<karolherbst> there is some magic going on
<karolherbst> I hit it earlier.. wait
cheako has joined #dri-devel
<jekstrand> Wait, it's doing a write, not a read
<karolherbst> it's both
<karolherbst> first run: read, second run: write
mbrost has quit [Remote host closed the connection]
<jekstrand> Oh, you're trying to enable read/write images, aren't you?
<karolherbst> yes
<jekstrand> Yeah, those are problematic, at least on SKL
<jekstrand> Not unimplementable but problematic
<karolherbst> iris has this special case for PIPE_IMAGE_ACCESS_READ
<karolherbst> okay
<karolherbst> so on gen12 it should be all fine?
<jekstrand> hrm... we should be able to do typed reads on R32_FLOAT...
<karolherbst> mhh fails the same way on gen12 :)
<jekstrand> Yeah, we're swapping out image formats too much
<karolherbst> ahh
<jekstrand> Oh... I see.
mbrost has joined #dri-devel
<jekstrand> We smash to R32_UINT so atomics work. :-/
<karolherbst> ohhh
<karolherbst> uhh
<karolherbst> :(
<karolherbst> yeah.. CL doesn't have those I think?
<jekstrand> idk what we do with this in GL
<jekstrand> Oh, right, that hits the lowering path. :-/
minecrell6 has quit []
minecrell has joined #dri-devel
laolmtdea^ has quit [Remote host closed the connection]
heat_ has joined #dri-devel
heat has quit [Read error: Connection reset by peer]
mbrost has quit [Ping timeout: 480 seconds]
illwieckz has quit [Quit: I'll be back!]
gawin has quit [Ping timeout: 480 seconds]
<alyssa> jekstrand: fcanonicalize != fquantize2f16
<alyssa> although fcanonicalize wasn't merged apparently
<alyssa> and also doesn't flush denorms if you're in a preserve denorm float control mode
<alyssa> so not useful for us
<karolherbst> alyssa: yeah.. but let's see if using the correct formats helps us here, because if kernels run with disabled denorms that might just pan all out.. dunno
<karolherbst> jekstrand: is there a dirty hack I could use to check that?
<jekstrand> karolherbst: It's definitely the format. The problem is you're getting 1u instead of 1.0f
<karolherbst> sure, I am mainly wondering if we would hit this denorm issue once that's fixed
<karolherbst> ohh.. but I think I just need to hack up isl_lower_storage_image_format, no?
<karolherbst> yeah.. that makes it pass
<karolherbst> jekstrand: we might want to have a MEM_FLAG saying "no_atomics" or something?
<jekstrand> karolherbst: maybe?
<karolherbst> mhhh
<jekstrand> karolherbst: Unfortunately, the Intel code around all this is very annoying
<karolherbst> I see that hw doens't support a lot of formats, so we could stop exposing them as supported
<karolherbst> like almost all SNORM/UNORM ones
<karolherbst> _but_
<karolherbst> CL_R CL_UNORM_INT8 is required
<karolherbst> same for CL_RGBA
<jekstrand> Yeah
<jekstrand> So, UNORM/SNORM are fine on Ice Lake and later.
<karolherbst> yeah.. let me check on gen12 first and see if anything is left to fix there
<jekstrand> The others are fine on Skylake and later as long as we don't care about weird packed formats like 10/10/10/2
JohnnyonFlame has joined #dri-devel
<karolherbst> all optional
<jekstrand> It could be that later hardware is fine with atomics on R32_FLOAT; I'm not sure.
<karolherbst> I think we should be more strict about what to expose and simply ignore anything optional
<jekstrand> We had GPU hangs on some hardware and swapped it over to R32_UINT since it doesn't matter 99% of the time.
<karolherbst> well if that requires lowering
LexSfX has quit []
<jekstrand> Uh oh...
<jekstrand> 0cd37f9178d79ed62f1952939e1044cda5701a3a
<karolherbst> yeah
<karolherbst> I "reverted" that :D
<jekstrand> Fixes an error in simulation. Maybe fixes a hang but it's not clear that the hang happens on real hardware.
<jekstrand> Kayden: ^^ I'll leave that on your plate to think about.
<jekstrand> Given that it was Anuj, we probably hit that during Ice Lake enabling.
<karolherbst> more problematic is ISL_FORMAT_R8_UNORM
<jekstrand> Again, not sure it actually affects hardware. Someone needs to pull out some hardware and give it a try.
<jekstrand> I guess I could send a revert through Jenkins and see if it breaks anything.
<jekstrand> Let me do that
<karolherbst> cool
<karolherbst> soo if I get read_write images fixed, I only have to see what those optional atomic ops are and see if we could expose those as well
<karolherbst> I think we also need a new PIPE_BIND flag, but not quire sure yet ..
<karolherbst> normally PIPE_BIND_SHADER_IMAGE should also cover images a kernel writes to, no
<karolherbst> ?
<karolherbst> ehh
<karolherbst> reads from
LexSfX has joined #dri-devel
mbrost has joined #dri-devel
<jenatali> PIPE_BIND_SHADER_IMAGE requires read/write I'm pretty sure
<karolherbst> mhhhhh
<karolherbst> how annoying
<karolherbst> CL_BGRA CL_UNORM_INT8 fails
<karolherbst> well. it just returns 0
mbrost_ has joined #dri-devel
LexSfX has quit [Ping timeout: 480 seconds]
LexSfX has joined #dri-devel
mbrost has quit [Remote host closed the connection]
mbrost_ has quit [Ping timeout: 480 seconds]
heat_ has quit [Read error: No route to host]
heat has joined #dri-devel
mbrost has joined #dri-devel
slattann has quit [Quit: Leaving.]
lynxeye has quit [Quit: Leaving.]
LexSfX has quit [Read error: Connection reset by peer]
ybogdano has quit [Ping timeout: 480 seconds]
LexSfX has joined #dri-devel
LexSfX has quit [Ping timeout: 480 seconds]
LexSfX has joined #dri-devel
ybogdano has joined #dri-devel
<karolherbst> jekstrand: I think intel is faking BGRA support by doing RGBA internally. At least I see their stack adjusting the fill color for clFillImage
<karolherbst> but besides that, it seems to work just fine on gen12
<zmike> dcbaker: \o/
ngcortes has joined #dri-devel
lemonzest has quit [Quit: WeeChat 3.4]
jkrzyszt has quit [Ping timeout: 480 seconds]
alanc has quit [Remote host closed the connection]
alanc has joined #dri-devel
<jekstrand> karolherbst: Yes, likely. But that should be workable for storage
<jekstrand> We just need to tweak some things
ahajda has quit [Remote host closed the connection]
shankaru has quit [Ping timeout: 480 seconds]
ahajda has joined #dri-devel
ybogdano has quit [Ping timeout: 480 seconds]
<karolherbst> jekstrand: question is.. should the driver or... and also why does it work with write images?
<jekstrand> karolherbst: There's non-trivial iris and isl work to do to get that all working
<karolherbst> :(
<jekstrand> Sadly, it's not like AMD or NV where you can just read/write typed things and it "just works"
<karolherbst> the alternative is fixing LLVM
<karolherbst> (which I think we might have to do regardless for devices really not supporting the requiered formats well enough)
<karolherbst> kind of hoped I could just flip it on and...
<jekstrand> For BGRA, I think most of what you need to do is add it to isl_lower_storage_image_format and then make sure that we do the swizzle when we set up the image descriptor
<jekstrand> which we likely don't do right now
<jekstrand> (the descriptor part)
LexSfX has quit [Ping timeout: 480 seconds]
<karolherbst> yeah
alyssa has left #dri-devel [#dri-devel]
LexSfX has joined #dri-devel
<karolherbst> I alrady tried that and B and R were swapped
<karolherbst> but that becomes annoying with fill_images because one also has to fix that up
maxzor has quit [Ping timeout: 480 seconds]
oneforall2 has quit [Remote host closed the connection]
oneforall2 has joined #dri-devel
ybogdano has joined #dri-devel
<karolherbst> ah well.. let's upstream some patches, so I don't have to carry 200+ patches :D
rasterman has quit [Quit: Gettin' stinky!]
neonking has joined #dri-devel
mbrost has quit [Ping timeout: 480 seconds]
rasterman has joined #dri-devel
Duke`` has quit [Ping timeout: 480 seconds]
vivijim has joined #dri-devel
vivijim has quit []
danvet has quit [Ping timeout: 480 seconds]
mbrost has joined #dri-devel
LexSfX has quit []
maxzor has joined #dri-devel
gawin has joined #dri-devel
ybogdano has quit [Ping timeout: 480 seconds]
ngcortes has quit [Ping timeout: 480 seconds]
ybogdano has joined #dri-devel
Haaninjo has quit [Quit: Ex-Chat]
ngcortes has joined #dri-devel
icecream95 has joined #dri-devel
nchery is now known as Guest3009
Guest3009 has quit [Read error: Connection reset by peer]
nchery has joined #dri-devel
maxzor has quit [Ping timeout: 480 seconds]
ahajda has quit [Quit: Going offline, see ya! (www.adiirc.com)]
mvlad has quit [Remote host closed the connection]
ahajda has joined #dri-devel
rasterman has quit [Quit: Gettin' stinky!]
gawin has quit [Ping timeout: 480 seconds]
<karolherbst> airlied: with my opt libclc stuff CI is unreliable because those tests sometimes timeout and soemtimes not :(
gio has quit [Remote host closed the connection]
<karolherbst> well.. on llvmpipe
<karolherbst> could be have a list of flaky tests CI won't fail on?
* airlied isn't sure how the piglit test list is hooked up
<jenatali> Anybody willing to review the common bits out of !16182 for the tracing/symbol helpers?
gio has joined #dri-devel
pcercuei has quit [Quit: dodo]
columbarius has joined #dri-devel
morphis has quit [Ping timeout: 480 seconds]
morphis has joined #dri-devel
co1umbarius has quit [Ping timeout: 480 seconds]
<karolherbst> airlied: mhh.. good question
mbrost has quit [Ping timeout: 480 seconds]
columbarius has quit [Ping timeout: 480 seconds]
columbarius has joined #dri-devel
tursulin has quit [Ping timeout: 480 seconds]
jernej has quit [Ping timeout: 480 seconds]
rkanwal has quit [Ping timeout: 480 seconds]