11:12 RSpliet: nvuser: yep
17:36 fdobridge: <g​ouz> Descriptor indexing seems to be going well!
17:36 fdobridge: <g​ouz> Baseline: Pass: 298789, Fail: 2105, Crash: 272, Warn: 4
17:37 fdobridge: <g​ouz> Descriptor indexing: Pass: 309452, Fail: 11, Crash: 1, UnexpectedPass: 4, ExpectedFail: 2370, Warn: 4
17:37 fdobridge: <g​ouz> Descriptor indexing seems to be going well!
17:37 fdobridge: <g​ouz> Baseline run: Pass: 298789, Fail: 2105, Crash: 272, Warn: 4
17:37 fdobridge: <g​ouz> Descriptor indexing run: Pass: 309452, Fail: 11, Crash: 1, UnexpectedPass: 4, ExpectedFail: 2370, Warn: 4 (edited)
17:39 fdobridge: <g​ouz> I am still having some issues with nir_opt_non_uniform_access pass though..
17:41 fdobridge: <g​ouz> I do not know if we need the non uniform access lowering at all.
18:50 fdobridge: <n​anokatze> you can just not use it
18:50 fdobridge: <n​anokatze> you can just not use it for now (edited)
18:50 fdobridge: <n​anokatze> you'll maybe want it for bindless ubos in the future
18:54 fdobridge: <n​anokatze> which issues do you have though?
18:54 fdobridge: <n​anokatze> which issues did you have with it? (edited)
18:55 fdobridge: <g​ouz> Why do bindless ubos need that?
18:55 fdobridge: <n​anokatze> if/when bindless ubos are gonna be lowered to ucld uM, cx[uN][...] thing, ubo descriptor (uN here) is a uniform register
18:56 fdobridge: <n​anokatze> it may not make sense to lower non-uniform bindless ubo to bindless ucld though but rather to just global load thing like it is now
18:56 fdobridge: <n​anokatze> it may not make sense to lower non-uniform bindless ubo to bindless ucld though but rather to just global load thing like it is now iirc (edited)
18:56 fdobridge: <g​ouz> Ah, so these ubos need to be lowered then
18:57 fdobridge: <n​anokatze> you can also just try lowering everything 🐸
18:57 fdobridge: <n​anokatze> as in all non-uniform accesses
18:57 fdobridge: <n​anokatze> can't make things incorrect, only slower
18:57 fdobridge: <g​ouz> Because as it is now (global), all ubo tests (including descriptor indexed) pass
18:57 fdobridge: <g​ouz> hahah yeah
19:00 fdobridge: <g​ouz> So does nir_opt_non_uniform_access pass require a nir_lower_non_uniform_access pass first?
19:00 fdobridge: <n​anokatze> no
19:00 fdobridge: <n​anokatze> you can check radv or anv to see how those drivers use it
19:01 fdobridge: <n​anokatze> nir_opt_non_uniform_access just tries to remove ACCESS_NON_UNIFORM or respective texture and sampler non-uniform things from instructions
19:19 fdobridge: <g​ouz> Using them both for all descriptor types seems to work ok,
19:19 fdobridge: <g​ouz> if i use only the opt pass i need to also use nir_has_non_uniform_access, or else i get assertions
19:20 fdobridge: <g​ouz> But nir_has_non_uniform_access takes as an argument the access types i want to lower
19:21 fdobridge: <g​ouz> Using them both for all descriptor access types seems to work ok,
19:21 fdobridge: <g​ouz> if i use only the opt pass i need to also use nir_has_non_uniform_access, or else i get assertions (edited)
19:21 fdobridge: <g​ouz> Using them both for all descriptor access types seems to work ok.
19:21 fdobridge: <g​ouz> If i use only the opt pass, i need to also use nir_has_non_uniform_access, or else i get assertions (edited)
19:33 fdobridge: <a​irlied> @Mr Fall🐧 did you get the mme register setting for nvk going at all?
19:37 fdobridge: <!​[NVK Whacker] Echo (she) 🇱🇹> Do you know why `fail ttm_validate` could occur when running Vulkan stuff with GSP? 🐸
19:45 fdobridge: <n​anokatze> could you paste those here?
19:46 fdobridge: <n​anokatze> you shouldn't be getting any assertions
19:46 fdobridge: <n​anokatze> something is wrong
19:48 fdobridge: <n​anokatze> nir_opt_non_uniform_access runs nir_divergence_analysis which needs shader to be in LCSSA form
19:48 fdobridge: <n​anokatze> nvm
19:53 fdobridge: <g​ouz> If i do not check first like this:
19:53 fdobridge: <g​ouz> if (nir_has_non_uniform_access(nir, lower_non_uniform_access_types)) {
19:53 fdobridge: <g​ouz> NIR_PASS(_, nir, nir_opt_non_uniform_access);
19:53 fdobridge: <g​ouz> }
19:53 fdobridge: <g​ouz> i get:
19:53 fdobridge: <g​ouz> ../src/compiler/nir/nir_from_ssa.c:635: emit_copy: Assertion `!nir_src_is_divergent(src) || nir_src_is_divergent(dest_src)'
19:53 fdobridge: <g​ouz> on robustness.txt tests
19:53 fdobridge: <g​ouz> If i do not check first like this:
19:53 fdobridge: <g​ouz> if (nir_has_non_uniform_access(nir, lower_non_uniform_access_types)) {
19:53 fdobridge: <g​ouz> NIR_PASS(_, nir, nir_opt_non_uniform_access);
19:53 fdobridge: <g​ouz> }
19:53 fdobridge: <g​ouz> i get:
19:53 fdobridge: <g​ouz> ../src/compiler/nir/nir_from_ssa.c:635: emit_copy: Assertion `!nir_src_is_divergent(src) || nir_src_is_divergent(dest_src)'
19:53 fdobridge: <g​ouz> on robustness tests (edited)
19:53 fdobridge: <n​anokatze> something seems broken
19:54 fdobridge: <n​anokatze> hmm
19:57 fdobridge: <n​anokatze> yeah no idea what could be causing this
19:57 fdobridge: <g​ouz> if i move the opt pass before the nvk_lower_descriptors pass, all seems ok
19:57 fdobridge: <n​anokatze> tbf it probably should be there 🐸
20:04 fdobridge: <a​irlied> there were some races in nvk, not sure if they've all been fixed
20:07 fdobridge: <!​[NVK Whacker] Echo (she) 🇱🇹> I wonder if this is normal: `kernel: nouveau 0000:01:00.0: DRM: GART: 536870912 MiB`
20:08 fdobridge: <!​[NVK Whacker] Echo (she) 🇱🇹> I see that this happens without GSP as well (but that size is definitely higher than my RAM amount)
20:09 fdobridge: <!​[NVK Whacker] Echo (she) 🇱🇹> This is definitely not normal though 🤔
20:18 fdobridge: <k​arolherbst🐧🦀> we report what is mapable