Skip to content

freedreno/a4xx: make tg4 work

Ilia Mirkin requested to merge imirkin/mesa:a4xx-tg4 into main

The previous workaround was bogus all around. Long story short, it completely doesn't work. Remove all traces of it.

Instead we have to bake the swizzle and the format's integer bpp-ness into the shader key. The latter could be derived from getinfo, but that's a lot of extra code and we have to have a key in there already anyways.

The big question is whether such a large addition to the key is acceptable for perf. If not, we can look at doing binary fixups -- the changes are pretty simple since it's just bumping an opcode id at a fixed binary location.

All dEQP-GLES31 / KHR-GLES31 gather tests pass with this series (+ support for ES 3.1 which is being held up by isa encoding issues), except:

KHR-GLES31.core.gpu_shader5.texture_gather_offset_color_clamp_to_border,Fail
KHR-GLES31.core.gpu_shader5.texture_gather_offset_color_clamp_to_edge,Fail

By the looks of it, the clamping is happening at a slightly different "time" than expected? Unclear...

Edited by Ilia Mirkin

Merge request reports