mesa/src/asahi/compiler
Alyssa Rosenzweig b4108e1d01 agx: Lower UBO loads to use per-element indexing
This lets us support indirect access to UBOs easily. The existing
constant special case disappears too, since the peephole optimizer can
inline the constant later. (note: this is too conservative since we can
go up to 16-bit immediates...)

Unfortunately, nir_opt_algebraic can't seem to optimize expressions like
"((a << 3) + 4) >> 2" to "(a << 1) + 1" which would be necessary for
reasonable perf out of this...

Fixes:

dEQP-GLES2.functional.shaders.indexing.uniform_array.float_dynamic_loop_read_fragment

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14581>
2022-01-24 14:25:18 +00:00
..
agx_builder.h.py agx: Add agx_ushr helper 2021-07-24 17:23:42 -04:00
agx_compile.c agx: Lower UBO loads to use per-element indexing 2022-01-24 14:25:18 +00:00
agx_compile.h asahi: Route sample mask from shader 2022-01-16 18:23:28 +00:00
agx_compiler.h agx: Ensure we don't overallocate registers 2021-07-07 03:31:43 +00:00
agx_dce.c agx: Don't choke on registers in the optimizer 2021-07-07 03:31:43 +00:00
agx_liveness.c agx: Mark sources that kill 2021-07-05 20:56:04 +00:00
agx_minifloat.h agx: Add 8-bit AGX minifloat routines 2021-05-02 17:41:14 -04:00
agx_opcodes.c.py agx: Generate runtime-accessible opcode table 2021-05-02 17:41:10 -04:00
agx_opcodes.h.py agx: Generate enums from Python 2021-06-05 20:38:22 +00:00
agx_opcodes.py agx: Add sample_mask instruction 2022-01-16 18:23:28 +00:00
agx_optimizer.c agx: Don't choke on registers in the optimizer 2021-07-07 03:31:43 +00:00
agx_pack.c agx: Add sample_mask instruction 2022-01-16 18:23:28 +00:00
agx_print.c agx: Mark sources that kill 2021-07-05 20:56:04 +00:00
agx_register_allocate.c agx: Define p_extract for type converts 2021-07-24 17:25:40 -04:00
agx_uniforms.c agx: Add sysval management helper 2021-05-02 17:41:17 -04:00
cmdline.c glsl/nir: don't pass gl_context to the convertor routine. 2022-01-07 06:19:49 +00:00
meson.build asahi: Fix meson dependency on packing in compiler 2021-07-06 13:44:50 +00:00