Hi all, Following the discussion on Timothy's std430 packing series, here's a quick proposal to just always use 2D accesses to the CONST file in TGSI.
The first patch should be sufficient for all drivers to accept those 2D accesses. It seems that most older drivers simply ignore the dimension, and newer ones should handle it directly. Subsequent patches modify the producers of TGSI to always use 2D constant references. This is mostly done by changing ureg. Finally, the last patch adds an assertion to radeonsi to make sure all constant references are really 2D. It has survived my very superficial initial testing. What needs to be tested is: - some more drivers - Nine - TGSI-to-NIR You can find the series here: https://cgit.freedesktop.org/~nh/mesa/log/?h=tgsi-const-2d Please comment/review! Thanks, Nicolai -- src/gallium/auxiliary/hud/hud_context.c | 8 +- src/gallium/auxiliary/nir/tgsi_to_nir.c | 2 +- src/gallium/auxiliary/postprocess/pp_mlaa.h | 20 +-- src/gallium/auxiliary/tgsi/tgsi_ureg.c | 22 +-- src/gallium/auxiliary/util/u_tests.c | 4 +- src/gallium/docs/source/screen.rst | 11 +- src/gallium/drivers/radeon/r600_query.c | 36 ++-- src/gallium/drivers/radeonsi/si_shader.c | 1 + src/gallium/state_trackers/nine/nine_ff.c | 2 +- .../state_trackers/nine/nine_shader.c | 10 +- .../tests/graw/fragment-shader/frag-cb-1d.sh | 8 +- .../tests/graw/vertex-shader/vert-cb-1d.sh | 8 +- src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 153 +++++++++-------- 13 files changed, 136 insertions(+), 149 deletions(-) _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
