ChanServ changed the topic of #asahi-gpu to: Asahi Linux GPU development (no user support, NO binary reversing) | Keep things on topic | GitHub: https://alx.sh/g | Wiki: https://alx.sh/w | Logs: https://alx.sh/l/asahi-gpu
chadmed has joined #asahi-gpu
<chadmed> alyssa: lgtm, no noticeable regressions so far
<alyssa> *sparkles*
<alyssa> "noticeable" mood
<chadmed> actually even better than no noticeable regressions, there has been a noticeable improvement
<alyssa> ye?
<chadmed> previously i was getting some artefacting around window borders that looked kinda like memory leaking across from other windows but thats gone now
<alyssa> woo!
amarioguy has quit [Remote host closed the connection]
cylm_ has quit [Ping timeout: 480 seconds]
<alyssa> lina: BTW, I think the "write" field in FaultInfo is wrong
<alyssa> as in, I see it set sometimes when it's a read instead
<alyssa> I'm also suspicious about the unit names
<lina> alyssa: The lod_bias assert has been firing all along as far as I remember ^^
<lina> I think the unit names make sense, at least some of them match
<lina> write is definitely suspicious though
<alyssa> lina: Nod
<alyssa> My buffer texture code is causing faults but dmesg isn't much help figuring out why
<alyssa> Somehow I don't think the issue is a write from DCMP
<alyssa> err... a "write" from UL1C to 0xc021
<alyssa> UL1C sounds like L1 for the USC
<alyssa> maybe
<alyssa> which I would believe
<lina> Yeah, I think r/w is definitely backwards for UL1C and I think that's the L1 cache yes
<lina> Those are the faults you get with bad vertex fetches
<alyssa> ahaha yeah
<alyssa> Oh nooooooooo
<alyssa> >________<
<alyssa> NOOOooooOo
<alyssa> I thought if I just ignored that bug it would go away! :(
<lina> ;;
<lina> Which bug?
<alyssa> nir_opt_preamble is fundamentally unsound.
<alyssa> It will hapilly rewrite "if (x) { load(address) }" to "if (x) { uniform }
<alyssa> errr
<alyssa> It will hapilly rewrite "if (x) { load(address) }" to "uniform = load(address); if (x) { uniform }"
<alyssa> It only moves stuff that doesn't have side effects
<alyssa> trouble is, load does have a side effect ... faulting if the address is invalid
<alyssa> and if "x
<alyssa> " is a condition that's only true if the address is valid
<alyssa> suddenly you've introduced faulting into a working program
<alyssa> (That can happen with a completely in-spec program that doesn't do any funny UB, like "if (has foo) { load(foo) }
<alyssa> " and only binding foo if needed for the material)
<lina> Well, there's always asahi.fault_control=0xb... ^^;;
<lina> (That's what macOS does)
<alyssa> that seems like a very blunt hammer to work around a fundamentally unsound compiler pass
<alyssa> what it SHOULD be doing is instead writing "if (x) { uniform = load(address) }"
<lina> ^^
<alyssa> btw, is "asahi.fault_control=0xb" something that could be toggled at the process level?
<alyssa> what about at the context level?
hampus has joined #asahi-gpu
<alyssa> would be a cheap way to implement robustness
<alyssa> (gles3.2 or vulkan)
<TellowKrinkle> Doesn't robustness have to work with out of bounds reads too? That doesn't sound like it would protect against accidentally reading from another valid buffer that happened to be nearby
<alyssa> TellowKrinkle: There are 2 definitions of robustness
<alyssa> One is "out of bounds reads return 0" the other is weaker "out of bounds reads return undefined values but will not fault"
<TellowKrinkle> ahh
<alyssa> without the fault control flag, both of those require wrapping loads in if(..) { }
<alyssa> with the fault control flag, the former is an unconditional load followed by a cheap conditional select or iand
<alyssa> and the latter is free
<alyssa> IIRC GLES3.2 only needs the weak one, and Vulkan lets you pick which of the two you want
<TellowKrinkle> True. You don't have to do the load itself conditionally if it won't fault
<hampus> hi! (see #asahi-dev for original msg, didn't find this channel at first) I did a poke at an issue (https://gitlab.freedesktop.org/mesa/mesa/-/issues/7541) to test if I could get a working dev env running here (draft at https://gitlab.freedesktop.org/hlinander/mesa/-/tree/optimize_lower_resinfo). any pointers as to how I can test this beyond the test suite in repo in a convenient way?
<alyssa> *eyes*
<alyssa> hampus: Do you have an M1/M2 with Asahi Linux installed?
<alyssa> oh I see yes, reading #asahi-dev now
<alyssa> You'll want to setup the OpenGL ES conformance tests
<alyssa> Writing up a "How to contribute to Alyssa's drivers" doc now
<hampus> oh ok! great :)
<lina> alyssa: No, it's global and I'm not even sure if it can be changed at runtime at all (I think it might work but with a GPU reconfigure command, which is a relatively big hammer)
<lina> We probably want to default to 0xb once things are relatively stable, and tell people to switch to 0 to debug faults
<lina> There are still things we don't know about fault handling though, including all that software fault handling path thing and what the bits in that field mean...
hightower2 has quit [Remote host closed the connection]
hightower2 has joined #asahi-gpu
chadmed has quit [Remote host closed the connection]
<alyssa> lina: ^^ don't think there's anything in there that you haven't extracted from me over months of signal chats but finally bothered to get it central
<hampus> alyssa: nice, thanks!
<alyssa> +1
<alyssa> lina: Please review whatever code hampus submits :-)
<alyssa> hampus: I hope there's a lot helpful in there if not everything
<alyssa> hampus: But concretely how to test texture size changes, you want dEQP-GLES3.functional.shaders.texture_functions.texturesize.sampler2darrayshadow_fragment
<alyssa> er
<alyssa> dEQP-GLES3.functional.shaders.texture_functions.texturesize.*
<alyssa> and you'll want to make sure the final assembly is improved
<alyssa> the guide should explain how to do both (that's your first task :-p)
<hampus> perfect, thanks. the docs look great, i'll try it out and see where i end up ;)
<alyssa> :D
<alyssa> after you finish this one, https://gitlab.freedesktop.org/mesa/mesa/-/issues/7540 is the follow up
<alyssa> it's a bit harder but now you're setup ;)
<alyssa> At this point, any other questions/review/etc should be directed at Lina
<alyssa> and I think that's all I have to say :-)
<alyssa> good luck!
alyssa has quit [Quit: leaving]
possiblemeatball has quit [Quit: Leaving]
dadwadw has joined #asahi-gpu
SSJ_GZ has joined #asahi-gpu
chadmed has joined #asahi-gpu
dadwadw has quit []
SSJ_GZ has quit [Ping timeout: 480 seconds]
SSJ_GZ has joined #asahi-gpu
chadmed has quit [Remote host closed the connection]
cylm_ has joined #asahi-gpu
kit_ty_kate has quit [Quit: WeeChat 3.4.1]
chadmed has joined #asahi-gpu
MajorBiscuit has joined #asahi-gpu
chadmed_ has joined #asahi-gpu
hertz has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
chadmed_ has quit [Remote host closed the connection]
MajorBiscuit has quit [Quit: WeeChat 3.6]
possiblemeatball has joined #asahi-gpu
ChaosPrincess has quit [Quit: WeeChat 3.7.1]
ChaosPrincess has joined #asahi-gpu
Dementor has quit [Remote host closed the connection]
Dementor has joined #asahi-gpu
DragoonAethis has quit [Quit: hej-hej!]
DragoonAethis has joined #asahi-gpu
chengsun has joined #asahi-gpu
chengsun_ has quit [Ping timeout: 480 seconds]
alyssa has joined #asahi-gpu
<alyssa> hampus: oh, one more thing, to run the gles3 tests on asahi you'll want to set the `ASAHI_MESA_DEBUG=deqp MESA_GLES_VERSION_OVERRIDE=3.0` env vars, since asahi/mesa only advertises gles2 support
<alyssa> (if you do a full deqp-gles3 run, you'll see why ;) )
<alyssa> if you're having troubles beyond that, lina can help ou
alyssa has quit []
bluetail1 has joined #asahi-gpu
bluetail has quit [Ping timeout: 480 seconds]
bluetail1 has quit [Ping timeout: 480 seconds]
DarkShadow44 has quit [Quit: ZNC - https://znc.in]
DarkShadow44 has joined #asahi-gpu
DarkShadow44 has quit []
DarkShadow44 has joined #asahi-gpu
bluetail has joined #asahi-gpu
bluetail has quit [Ping timeout: 480 seconds]
hertz has joined #asahi-gpu
bluetail has joined #asahi-gpu
bluetail7 has joined #asahi-gpu
bluetail3 has joined #asahi-gpu
bluetail1 has joined #asahi-gpu
bluetail1 has quit []
bluetail3 has quit [Read error: Connection reset by peer]
bluetail3 has joined #asahi-gpu
bluetail has quit [Ping timeout: 480 seconds]
bluetail7 has quit [Ping timeout: 480 seconds]
bluetail3 has quit [Quit: The Lounge - https://thelounge.chat]
bcrumb has joined #asahi-gpu
bluetail3 has joined #asahi-gpu
nela has joined #asahi-gpu
bluetail3 has quit [Ping timeout: 480 seconds]
bluetail3 has joined #asahi-gpu
bluetail39 has joined #asahi-gpu
bluetail39 has quit []
bluetail3 has quit [Ping timeout: 480 seconds]
possiblemeatball has quit [Quit: Leaving]
possiblemeatball has joined #asahi-gpu
bluetail39 has joined #asahi-gpu
bluetail39 has quit []
bcrumb has quit [Remote host closed the connection]
bcrumb has joined #asahi-gpu
bluetail39 has joined #asahi-gpu
bluetail39 has quit []
bcrumb has quit [Ping timeout: 480 seconds]
bluetail39 has joined #asahi-gpu
bcrumb has joined #asahi-gpu
bcrumb has quit []
mini0n has joined #asahi-gpu
bluetail39 has quit [Ping timeout: 480 seconds]
bluetail39 has joined #asahi-gpu
bluetail39 has quit []
bluetail39 has joined #asahi-gpu
amarioguy has joined #asahi-gpu
bluetail397 has joined #asahi-gpu
bluetail397 has quit []
bluetail397 has joined #asahi-gpu
bluetail397 has quit [Remote host closed the connection]
bluetail39 has quit [Ping timeout: 480 seconds]
bluetail397 has joined #asahi-gpu
bluetail397 has quit []
bluetail397 has joined #asahi-gpu
bluetail397 is now known as bluetail
bluetail has quit []
bluetail has joined #asahi-gpu
<hampus> alyssa: thanks for the last pointers on the version override envs, finally got asahi/mesa + VK-GL-CTS up and running here. draft MR on mesa.
bluetail0 has joined #asahi-gpu
bluetail has quit [Ping timeout: 480 seconds]
bluetail0 has quit [Ping timeout: 480 seconds]
SSJ_GZ has quit [Read error: Connection reset by peer]
bluetail0 has joined #asahi-gpu
SSJ_GZ has joined #asahi-gpu
kit_ty_kate has joined #asahi-gpu
SSJ_GZ has quit [Ping timeout: 480 seconds]
yrlf has quit [Quit: The Lounge - https://thelounge.chat]
yrlf has joined #asahi-gpu
bluetail07 has joined #asahi-gpu
bluetail07 has quit []
bluetail0 has quit [Ping timeout: 480 seconds]
bluetail07 has joined #asahi-gpu