ChanServ changed the topic of #lima to: Development channel for open source lima driver for ARM Mali4** GPUs - Kernel driver has landed in mainline, userspace driver is part of mesa - Logs at https://oftc.irclog.whitequark.org/lima/
ity has quit [Remote host closed the connection]
tanty has quit [Ping timeout: 480 seconds]
ity has joined #lima
tanty has joined #lima
chewitt has joined #lima
Daanct12 has joined #lima
tlwoerner_ has quit []
tlwoerner has joined #lima
Daanct12 has quit [Ping timeout: 480 seconds]
Daanct12 has joined #lima
Daanct12 has quit [Ping timeout: 480 seconds]
linkmauve has left #lima [Error from remote client]
linkmauve has joined #lima
tanty has quit [Quit: Ciao!]
tanty has joined #lima
tanty has quit []
tanty has joined #lima
fomys_ has quit [Read error: Connection reset by peer]
fomys has joined #lima
sarbes_ has joined #lima
sarbes_ has quit []
<enunes>
sarbes: did you run the recent MR through shader-db? I think would be useful to mention there if it saves an instruction in any of those shaders or just has no diff
<enunes>
I guess it might not save since it would be a const, but anyway, seems like a nice feature added there
<anarsoul>
It should reduce the code size, but I don't expect it to save any cycles. Loading from constant reg is essentially free
<sarbes>
I've commented out my change for the comparison.
<enunes>
that seems pretty good for the affected shaders, maybe too good? :) hope it hasn't introduced an issue for them. saving over 10 instructions with this change seems a bit too good to be right
<sarbes>
Yeah. Maybe I should rite more tests?
<sarbes>
Is there any way to get the shader binary?
<enunes>
I would suggest to start by picking one of the affected shaders and run shader-db with LIMA_DEBUG=pp and diff it against the same thing against main and take a look at the output
<enunes>
so something like $ LIMA_DEBUG=pp ./run shaders/godot3.4/34-59.shader_test > main and then with your branch
<sarbes>
I can give you the output of shaders/godot3.4/37-58.shader_test if you want. It looks right to me.
<sarbes>
From my understanding, the const load is happening later than texturing in the pipeline. So the texture unit has to wait for the second cycle in order to get the constant LOD originally.
<sarbes>
Any by supplying the constant via the instruction, the first cycle containing just the constant load+mov can be avoided.