agx: Lower txs to a descriptor crawl
authorAlyssa Rosenzweig <alyssa@rosenzweig.io>
Fri, 9 Sep 2022 21:01:10 +0000 (17:01 -0400)
committerMarge Bot <emma+marge@anholt.net>
Tue, 13 Sep 2022 16:04:29 +0000 (16:04 +0000)
commit0883f0b302889697099b678d9fc7e5e5f24759c2
tree2e6b237b1b0e847ca78fa0b0da20c3d604ed5784
parentbc4f418cb40e0c8978197cf641173809987dafab
agx: Lower txs to a descriptor crawl

There's no native txs instruction... but we can emulate one :-) This is
heavy on shader ALU, but in the production driver, it'll all be hoisted
up to the preamble shader and so it shouldn't matter much. This
keeps the driver itself simple and low overhead, with a completely
obvious generalization to bindless.

Passes dEQP-GLES3.functional.shaders.texture_functions.texturesize.*

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18525>
src/asahi/compiler/agx_compile.c
src/asahi/compiler/agx_compiler.h
src/asahi/compiler/agx_lower_resinfo.c [new file with mode: 0644]
src/asahi/compiler/meson.build