ChanServ changed the topic of #dri-devel to: <ajax> nothing involved with X should ever be unable to find a bar
rbrune has quit [Ping timeout: 480 seconds]
heat has quit [Remote host closed the connection]
heat has joined #dri-devel
iive has quit []
nchery has quit [Quit: Leaving]
jljusten has quit [Quit: WeeChat 3.4]
columbarius has joined #dri-devel
co1umbarius has quit [Ping timeout: 480 seconds]
<karolherbst> airlied: any idea why things like "images/kernel_read_write/test_image_streams read CL_RGBA CL_SIGNED_INT32 CL_FILTER_NEAREST CL_ADDRESS_REPEAT NORMALIZED 2D" fail with llvmpipe?
pcercuei has quit [Quit: dodo]
heat has quit [Remote host closed the connection]
rasterman- has joined #dri-devel
rasterman- has quit []
rasterman has quit [Ping timeout: 480 seconds]
<karolherbst> airlied: seems like CL_ADDRESS_REPEAT or PIPE_TEX_WRAP_REPEAT is busted :/
<karolherbst> mhh.. for read ints though
<karolherbst> "(normalized float coords, int results)" and "(normalized float coords, uint results)" broken, "(normalized float coords, float results)" works fine..
<karolherbst> seems like it is doing PIPE_TEX_WRAP_MIRROR_REPEAT instead
<karolherbst> do you have a patch for that or would I need to dif into it? clover fails as well
ella-0_ has joined #dri-devel
ella-0 has quit [Read error: Connection reset by peer]
sdutt has quit []
heat has joined #dri-devel
Guest282 is now known as go4godvin
SrainUser has joined #dri-devel
eotdlt^ has joined #dri-devel
SrainUser has quit [Remote host closed the connection]
icecream95 has quit [Quit: issued !quit command]
icecream95 has joined #dri-devel
mhenning has quit [Quit: mhenning]
heat has quit [Remote host closed the connection]
heat has joined #dri-devel
<airlied> karolherbst: dig in, never noticed that problem
<airlied> karolherbst: GALLIVM_DEBUG=ir should so what the shader ends up being built with
<airlied> should show
fxkamd has joined #dri-devel
mhenning has joined #dri-devel
jljusten has joined #dri-devel
JohnnyonFlame has joined #dri-devel
mwalle has quit [Quit: WeeChat 3.0]
heat has quit [Ping timeout: 480 seconds]
JohnnyonFlame has quit [Read error: Connection reset by peer]
Duke`` has joined #dri-devel
danvet has joined #dri-devel
fxkamd has quit []
tales_ has quit [Remote host closed the connection]
mhenning has quit [Quit: mhenning]
alanc has quit [Remote host closed the connection]
alanc has joined #dri-devel
lygstate has joined #dri-devel
lygstate has quit [Ping timeout: 480 seconds]
lygstate has joined #dri-devel
lygstate has quit [Ping timeout: 480 seconds]
gouchi has joined #dri-devel
icecream95 has quit [Quit: leaving]
lkw has joined #dri-devel
Haaninjo has joined #dri-devel
lemonzest has joined #dri-devel
lkw_ has joined #dri-devel
lkw has quit [Ping timeout: 480 seconds]
lygstate has joined #dri-devel
eotdlt^ has quit [Remote host closed the connection]
Duke`` has quit [Ping timeout: 480 seconds]
Terman has quit [Remote host closed the connection]
Duke`` has joined #dri-devel
flacks has quit [Quit: Quitter]
flacks has joined #dri-devel
pcercuei has joined #dri-devel
mclasen has joined #dri-devel
rkanwal has joined #dri-devel
lemonzest has quit [Quit: WeeChat 3.4]
<karolherbst> airlied: GALLIVM_DEBUG=ir doesn't show anything :(
gouchi has quit [Remote host closed the connection]
<karolherbst> ehh.. shader caching something...
CATS has joined #dri-devel
<karolherbst> ehh.. and DEBUG not set :D
<karolherbst> right.. I changed that
<karolherbst> okay.. now I can work :D
<karolherbst> dcbaker: I think meson has some regression with debug flags.. so I specified optimization=0 debug=true b_ndebug=false and DEBUG was still not set in code
<karolherbst> had to add buildtype=debug explicitly
<Prf_Jakob> Hello o/
<Prf_Jakob> What is env flag to make the Vulkan ICD loader to not unload the vulkan driver?
<karolherbst> I always thought you either use buildtype or optimization+debug
<Prf_Jakob> Found a lot of leaks with ASAN and they all point to (<unknown module>)
<karolherbst> Prf_Jakob: you mean on exit?
<karolherbst> those are probably real issues if not.. anyway, asan supports creating suppression files, but you can also just ignore leaks if you don't care
<Prf_Jakob> I guess so, just so it's around when ASAN runs it's scanning.
<karolherbst> ASAN_OPTIONS='detect_leaks=0'
<Prf_Jakob> Direct leak of 148320 byte(s) in 9270 object(s) allocated from:
<Prf_Jakob> #0 0x4bbbdd in malloc (/home/jakob/XR/build-Monado-CMake/src/xrt/targets/service/monado-service+0x4bbbdd)
<Prf_Jakob> #1 0x7efc3f763b51 (<unknown module>)
<Prf_Jakob> I do think that something bad is going on there.
<karolherbst> well.. hard to tell anything from that
<Prf_Jakob> Right, so I want the ICD loader to not unload the library so I can get the backtrace :p
<karolherbst> ohhh
<karolherbst> I see
<karolherbst> Prf_Jakob: mhh.. only option I see is compiling the loader yourself and disable calls to loader_platform_close_library
<Prf_Jakob> I have a couple of 1 objects ones with (<unknown module>) which is fine to ignore, but the longer I run the app the more objects it leaks.
<karolherbst> mhhh
<Prf_Jakob> From that one leak I posted above.
<karolherbst> Prf_Jakob: worst case... valgrind has a --keep-debuginfo=yes option, but..... dunno how slow things will be
<karolherbst> there is also an issue for asan: https://github.com/google/sanitizers/issues/89
<Prf_Jakob> Let's see
<karolherbst> Prf_Jakob: I think the easiest solution is to add RTLD_NODELETE to dlopen in the loader
JohnnyonFlame has joined #dri-devel
<Prf_Jakob> I remember doing this with a env variable in the past
<karolherbst> mhh.. maybe there is a magic one somewhere
<Prf_Jakob> Okay, have to rebuild without ASAN to run valgrind.
<karolherbst> :(
<Prf_Jakob> Not to bad
<karolherbst> airlied: anyway.. weird.. it seems to respect that flag, but the CTS still isn't happy :) maybe something else weird is going on
Stary has quit [Quit: ZNC - http://znc.in]
<karolherbst> will figure this out after adding support for write images (some read image tests depend on that becuase some fp16 detection stuff doing stores :( )
<Prf_Jakob> Looks like it runs (if really slowly), figured out some of the other leaks "1/2" blocks leaks I had, but not the huge block number one.
<Prf_Jakob> Let me leave it running for longer
iive has joined #dri-devel
Stary has joined #dri-devel
<Prf_Jakob> Need to compile the driver with debug symbols but it looks to be in AcquireNextImageKHR
lygstate has quit [Remote host closed the connection]
<Prf_Jakob> What is chassis?
<Prf_Jakob> Ah it's from the validation layer
<Prf_Jakob> airlied: MESA_device_selete_layer leaks a bunch of XCB requests.
<Prf_Jakob> MESA_device_select
gouchi has joined #dri-devel
JohnnyonFlame has quit [Read error: Connection reset by peer]
gouchi has quit []
<dcbaker> karolherbst: yeah, buildtype implies optimization and debug but not vice versa. There’s been a lot of talk about what to do there. We might want to just change that to look at debug instead of buildtype in mesa
<karolherbst> dcbaker: honestly I'd just get rid of buildtype :D
<karolherbst> is there actually a good reason to keep it?
<dcbaker> We’ve talked about that
<karolherbst> buildtype always feels like this cmake thing which was just super annoying to handle
<dcbaker> It’s for sure what we’d do if we are writing from scratch
<karolherbst> ohh.. meson checks for buildtype explicitly..
<karolherbst> dcbaker: I have an idea.. deprecate buildtype, and say "use debug instead" and buildtype=debug implies debug=true, but not sure other projects read out buildtype in any other meaningful way?
<karolherbst> -DDEBUG is really annoying somehow :(
<dcbaker> Yes it is
<karolherbst> I kind of see the need of enabling debug symbols but not wanting -DDEBUG
<karolherbst> _but_
<karolherbst> -DDEBUG feels like a project specific thing and I'd project need to add their own options for stuff like that
<karolherbst> mesa_debug
<orbea> karolherbst: distros uses buildtype=plain
<dcbaker> Which, if we got rid of buildtype upstream plain would become the de-facto default :)
<karolherbst> yeah
<orbea> then what happens to all the people who want release by default?
<karolherbst> orbea: it can be the default
<karolherbst> opt=2 and debug=fa;se
<karolherbst> *false
<karolherbst> but I don't think it's a good default
<karolherbst> if you build stuff you want to kind of work on it
<orbea> seems conflicting to have both plain and release as defaults
<karolherbst> otherwise you wouldn't compile it yourself
<karolherbst> orbea: plain just mean use opt and debug, no?
<orbea> im just saying that buildtype is used in every distro build everywhere so changing it will take some doing :P
<karolherbst> ehh plain is 0/false
<karolherbst> so not 2/false
<karolherbst> orbea: we can default to opt=0 and debug=false, but distros usually set those anyway
<karolherbst> or pass in their own flags
<orbea> i haven't checked the code, but I think plain is to let the user control it with CFLAGS/CXXFLAGS entirely
<karolherbst> orbea: my understanding is, that you can always overwrite with given flags, but plain won't really set anything
<karolherbst> plain implies debug=false and opt=0
<karolherbst> which I think might be a fine alternative? dunno
<karolherbst> the biggest annoyence is just meson projects reading out buildtype
<karolherbst> because atm you either set buildtype or the others
<karolherbst> or meson tells you to only set one of those
<orbea> it doesn;t le the project set a default buildtype?
<karolherbst> it does
<karolherbst> but that's not the point
<karolherbst> mesa checks buildtype if it's set to debug and adds -DDEBUG if it's the case
<karolherbst> but if I follow mesons warnings, I wouldn't set buildtype=debug if I want to set opt/debug
<karolherbst> ahh maybe that warning got removed in the meantime
<karolherbst> anyway.. the current situation is bad from a user perspective :)
<orbea> there is a debugoptimized, not sure if that helps your case
<karolherbst> it doesn't
<karolherbst> because it's not debug
<karolherbst> as I said, mesa checks if it's set to debug
<orbea> ah...
<karolherbst> dcbaker: maybe prevent projects to read out buildtype...
<karolherbst> :D
<orbea> seems kind of wrong to have debugoptimized that doesn't actually get checked by the project's DEBUG code
<orbea> it seems like its documented to set debug = true https://mesonbuild.com/Builtin-options.html#base-options
<orbea> so if it doesn't actually do that, bug?
<karolherbst> orbea: it does
<karolherbst> but debug doesn't mean -DDEBUG
<karolherbst> debug essentially just means -g and some windows specific handling of runtime libs
<karolherbst> for asserts we have e.g. b_ndebug
<karolherbst> or e.g. cpp_debugstl for some C++ debugging thing
<orbea> what actually sets -DDEBUG?
<karolherbst> mesa
<orbea> i reread above and i see what you mean now
<orbea> in a way it would be better to not have a cmake like buildtype, but regardless it will take some doing to change everywhere
<orbea> and would require some workflow changes for users
<orbea> for mesa it just might more sense to check if debug is true instead of checking the buildtype?
<karolherbst> orbea: I think the point is, that you want to be able to not add -DDEBUG but still have -O0 and -g set
<karolherbst> in the end it should be a project option as it changes behavior of the project itself
<karolherbst> and not depend on some magic auto detection if the user wants it or not
<karolherbst> maybe somebody wants those in a release build?
<karolherbst> GALLIVM_DEBUG is hidden behind that e.g.
<orbea> i guess plain works...just set -O0 -g manually
<orbea> meas might just want to control that with its own option and simply control the default with the debug variable
<orbea> *mesa
rasterman has joined #dri-devel
<Prf_Jakob> jekstrand: Thanks for the review on 15600, should I wait with assigning to Marge so others can look at it as well?
<dcbaker> karolherbst: originally it was both debug and debugoptimized, but some of the nir debug passes are so slow that it was changed to just debug
<dcbaker> It probably does make sense to just add a mesa option at this point
<dcbaker> We could use a feature option actually, where auto keeps the current behavior, but enabled and disabled override that
<karolherbst> huh.. llvmpipe can't handle nir_intrinsic_image_size?
<karolherbst> ehh.. crashes with clover as well
lemonzest has joined #dri-devel
<zmike> karolherbst: needs deref
<karolherbst> zmike: can't do
<zmike> shame
<karolherbst> it's a shame drivers still use derefs :p
<zmike> spirv is derefs tho
<karolherbst> sure, but that's why vtn and nir take care of things so drivers won't have to
<karolherbst> but I guess for llvm that's kind of required to keep derefs :/
<karolherbst> dunno
<karolherbst> airlied has a patch
<karolherbst> wait....
<karolherbst> why does stuff pass now
<karolherbst> I don't even create image_views
rasterman has quit [Quit: Gettin' stinky!]
nsneck has quit []
tales_ has joined #dri-devel
Duke`` has quit [Ping timeout: 480 seconds]
<karolherbst> jekstrand: soo.. if there is anything you want to do with rusticl in the future, there are quite some image related bugs in iris, where the shaders got null sources and stuff. Will do some more fixing/cleanups today and push to the MR branch with all the updated stuff
idr has joined #dri-devel
Duke`` has joined #dri-devel
<karolherbst> mhh.. mixed readonly/writeonly stuff doesn't work
<karolherbst> ehh wait.. I don't have a sampler
idr has quit [Ping timeout: 480 seconds]
* karolherbst questions his life choices
<karolherbst> "vec1 32 ssa_40687 = bcsel ssa_40686, ssa_92, ssa_93"
<karolherbst> :'(
<karolherbst> ehh vec1 64 ssa_837 = deref_cast (uint *)ssa_132 (shader_temp|function_temp|shared|global uint)
<karolherbst> guess I need to fix generic pointers first before trying out stuff like luxmark :D
<karolherbst> mhh.. something is clover doing better there
mhenning has joined #dri-devel
lkw_ has quit []
rbrune has joined #dri-devel
<mal> trying to figure out how to add support for a619
<imirkin> downstream driver and/or traces
<imirkin> robclark: --^
<karolherbst> mal: use the same as 618 and hope for the best?
<imirkin> there's tooling available to trace the driver in android
<imirkin> probably #freedreno is a better place to discuss that though
<karolherbst> sure, I was just saying that a naive approach might give you already good enough results as a starting point :)
linkmauve has left #dri-devel [#dri-devel]
<robclark> mal, if a619 has same GMEM size, then probably same values as a618 (I would expect a619 is same # of SP's as a618).. but you are looking at a kinda old mesa
<robclark> mal: start with something like:
<mal> ok, I'll test that
<karolherbst> mhh, so from a nir gallium perspective, can images and textures live at the same slot?
linkmauve has joined #dri-devel
<airlied> karolherbst: aren't they just uniforms in nir?
<karolherbst> airlied: yeah.. but I meant more in regards to set_shader_images and set_sampler_views
<karolherbst> airlied: llvmpipe kind of trips over
<airlied> karolherbst: it shouldn't
<airlied> those are two independent name spaces
<airlied> the driver shares nothing between them, so not sure how it would fall over
adjtm has quit [Quit: Leaving]
heat has joined #dri-devel
<karolherbst> airlied: mhh.. yeah... something goes from emiting the llvm.. seems like the format gets messed up, maybe it's something else
<karolherbst> airlied: ohh my bad, it's that samplerless stuff again...
<karolherbst> which is a bit weird though as the samplerless stuff seems to work... mhh
<karolherbst> maybe the lowering is broken for mixed images
<karolherbst> ehh.. shaders with both
<mal> robclark: karolherbst: that simple change to mesa for a619 worked
<robclark> \o/
<karolherbst> :)
<karolherbst> speaking from experience with nvidia, such a "minor version" usually only changes irrelevant things. Or sometimes something like SM config (bigger/smaller caches, etc..) so that stuff usually just works with the already existing support. Maybe there are some spec details which could tell what's the difference
<karolherbst> 619 seems to have more shader cores
<karolherbst> 256 vz 316
<karolherbst> *vs
<karolherbst> in case it matters for freedreno
<karolherbst> airlied: ehh.. those samplerless tests also read with a sampler.. *sigh* guess something is broken there for real
<airlied> karolherbst: as long as you use a sampler view for those, it should be fine
<karolherbst> airlied: yeah... but I don't have one :)
<karolherbst> ehh wait
<karolherbst> I have a sampler view
Duke`` has quit [Ping timeout: 480 seconds]
<karolherbst> I don't have a sampler
<karolherbst> though samplerless should be easy ti support as it's just a inline sampler with default values
* airlied would think samplerless would just be txf
<karolherbst> airlied: no, it's just a txl with a default sampler
<karolherbst> CLK_FILTER_NEAREST, CLK_NORMALIZED_COORDS_FALSE, CLK_ADDRESS_NONE
<karolherbst> ehh, mhh.. maybe it's good eough to use txf on that..
<karolherbst> wait... something doesn't pan out
Haaninjo has quit [Quit: Ex-Chat]
rkanwal has quit [Ping timeout: 480 seconds]
<karolherbst> airlied: yeah no.. I think you are right
jewins has joined #dri-devel
<karolherbst> didn't notice the txl vs txf thing
<karolherbst> and I tihnk txf matches what CL requires here
<karolherbst> but still.. why does llvmpipe crashes
<karolherbst> airlied: so inside lp_build_sample_soa_code bld.format_desc is NULL when it calls into lp_build_texel_type
<karolherbst> but I think that is because static_texture_state->format is garbage
<karolherbst> where is the format set?
<karolherbst> the sampler view I pass in has PIPE_FORMAT_R32G32B32A32_UINT set
lemonzest has quit [Quit: WeeChat 3.4]
<karolherbst> although I guess drivers rely on the frontend to bind a sampler regardless?
<karolherbst> not sure what's the expectation here
mhenning has quit [Quit: mhenning]
<karolherbst> clover crashes the same way btw
danvet has quit [Ping timeout: 480 seconds]
camus1 has joined #dri-devel
rkanwal has joined #dri-devel
<airlied> karolherbst: yes the frontend has to bind a sampler
camus has quit [Ping timeout: 480 seconds]
<airlied> though I don't think one is needed for txf
<karolherbst> airlied: yeah.. but you know.. with how GL is, there probably always is one
<karolherbst> maybe it's a bug in llvmpipe though just relying on one even though none is needed
<karolherbst> "CLOVER_DEVICE_VERSION_OVERRIDE=3.0 CLOVER_DEVICE_CLC_VERSION_OVERRIDE=3.0 test_conformance/api/test_api image_properties_queries" is enough to trigger it with clover
<karolherbst> airlied: so what lp is doing is to check if format_desc->colorspace == UTIL_FORMAT_COLORSPACE_RGB
<karolherbst> mhh but also reads out channels
<karolherbst> but probably easier if you see in gdb what's going on
YuGiOhJCJ has joined #dri-devel
<jekstrand> Prf_Jakob: You've got 3 reviews. Go ahead and assign marge.
rkanwal has quit [Ping timeout: 480 seconds]
<karolherbst> jekstrand: any idea what we should do about samplerless image reads for CL? atm the sampler_index gets set to 0, but if there is a real sampler at 0 it will all get messed up on a nir level
<karolherbst> and atm I am not sure if we want to adjust gallium/drivers to deal with that stuff
<karolherbst> (that stuff meaning having no sampler for a txf)
<karolherbst> mhhh... it's still weird though
rbrune has quit [Ping timeout: 480 seconds]
eukara has quit []
<karolherbst> airlied: okay... I think I have a very vague idea on what's happening.. so.. in llvmpipe samplers and textures share the same state in the backend compiler, but the format isn't set if there is no sampler
<karolherbst> there are some places where nr_samplers is used where nv_sampler_views or a MAX2 of those might make more sense
<karolherbst> airlied: ohhhh.. found it
<karolherbst> lp_sampler_static_texture_state_image overwrites the set format :(
<karolherbst> nr_samplers is 0 and nr_sampler_views is 1
<karolherbst> so the texture state is written normally, but the image one overwrites it :)
MajorBiscuit has joined #dri-devel
<airlied> that code has bugs alright
<karolherbst> I think using MAX2 there should be fine...
<airlied> the MAX2 is premature
<airlied> we don't set nr_sampler_viewsu ntil later
<karolherbst> it's already set
<karolherbst> this is in make_variant_key
<karolherbst> and you already got a MAX2 there
<karolherbst> for the memset
<karolherbst> why is nr_sampler_views the issue?
<karolherbst> it's already 1
<karolherbst> nr_samplers is 0
<airlied> it can't already be one there
<airlied> since it does a memset on key
<airlied> then assigns nr_samplers, then does the MAX2 with nr_samplers, nr_sampler_views
<karolherbst> the if in 630 is true
<karolherbst> it messes up in line 659
<karolherbst> when the images are processed
<karolherbst> so images only see nr_samplers = 0
<karolherbst> and overwrite whatever was done in the 630 branch
<karolherbst> ehh line 655 actually where the nr_samplers is passed as an index to key
<airlied> I'm pretty sure 15603 will fix it
<airlied> oh okay I see it
<airlied> needs another max2
<airlied> karolherbst: look at 15603 now I think it should fix it
<karolherbst> yeah that looks better
<karolherbst> doesn't compile though
<karolherbst> forgot to close your if block in fs
pcercuei has quit [Quit: dodo]
<karolherbst> so let's see if that's better now
<karolherbst> airlied: "PASSED sub-test." :)
<airlied> karolherbst: pushed fix
<karolherbst> cool, thanks
<karolherbst> let's see how much that fixes
<karolherbst> at least it also fixes it for clover :)
jewins has quit [Ping timeout: 480 seconds]