mesa/src/broadcom/compiler
Alejandro Piñeiro b4bc59e37e v3d: adds an extra MOV for any sig.ld*
Specifically when we are in non-uniform control flow, as we would need
to set the condition for the last instruction. If (for example) a
image atomic load stores directly their value on a NIR register,
last_inst would be a nop, and would fail when set the condition.

Fixes piglit test:
spec/glsl-es-3.10/execution/cs-ssbo-atomic-if-else-2.shader_test

Fixes: 6281f26f06 ("v3d: Add support for shader_image_load_store.")

v2: (Changes suggested by Eric Anholt)
   * Cover all sig.ld* signals, not just ldunif and ldtmu, as all of
     them have the same restriction.
   * Update comment explaining why we add a MOV in that case
   * Tweak commit message.

v3:
   * Drop extra set of parens (Eric)
   * Add missing ld signal to is_ld_signal to fix shader-db regression.

Reviewed-by: Eric Anholt <eric@anholt.net>
2019-11-20 11:21:16 +01:00
..
meson.build v3d: add lowering for OpenGL logic operations 2019-07-12 09:16:38 +02:00
nir_to_vir.c v3d: adds an extra MOV for any sig.ld* 2019-11-20 11:21:16 +01:00
qpu_schedule.c util: rename list_empty() to list_is_empty() 2019-10-28 11:24:38 +00:00
qpu_validate.c v3d: writes to magic registers aren't RF writes after THREND 2019-09-05 22:54:13 +01:00
v3d33_tex.c v3d: prefer using nir_src_comp_as_int over nir_src_as_const_value 2019-04-07 15:13:36 +02:00
v3d33_vpm_setup.c broadcom/vc5: Move V3D 3.3 VPM write setup to a separate file. 2018-01-12 21:56:24 -08:00
v3d40_tex.c v3d: Fix predication with atomic image operations 2019-11-20 11:20:55 +01:00
v3d_compiler.h v3d: rename vertex shader key (num)_fs_inputs fields 2019-10-31 08:46:35 +00:00
v3d_nir_lower_image_load_store.c v3d: Fix image_load_store clamping of signed integer stores. 2019-01-31 08:39:40 -08:00
v3d_nir_lower_io.c v3d: rename vertex shader key (num)_fs_inputs fields 2019-10-31 08:46:35 +00:00
v3d_nir_lower_logic_ops.c util: Move gallium's PIPE_FORMAT utils to /util/format/ 2019-11-14 10:47:20 -08:00
v3d_nir_lower_scratch.c v3d: Use the new lower_to_scratch implementation for indirects on temps. 2019-04-12 16:16:58 -07:00
v3d_nir_lower_txf_ms.c v3d: Use nir_shader_lower_instructions() for txf_ms lowering. 2019-07-18 11:28:56 -07:00
vir.c v3d: rename vertex shader key (num)_fs_inputs fields 2019-10-31 08:46:35 +00:00
vir_dump.c v3d: Add missing dumping for the spill offset/size uniforms. 2019-04-12 15:59:31 -07:00
vir_live_variables.c v3d: Stop treating exec masking specially. 2019-03-05 07:36:24 -08:00
vir_opt_copy_propagate.c v3d: Use ldunif instructions for uniforms. 2019-03-05 12:57:39 -08:00
vir_opt_dead_code.c v3d: Drop the V3D 3.x vpm read dead code elimination. 2019-03-05 12:57:39 -08:00
vir_opt_redundant_flags.c v3d: fix checking twice auf flag 2019-06-13 11:45:18 +02:00
vir_opt_small_immediates.c v3d: Use ldunif instructions for uniforms. 2019-03-05 12:57:39 -08:00
vir_register_allocate.c v3d: add new flag dirty TMU cache at v3d_compiler 2019-10-18 14:08:52 +02:00
vir_to_qpu.c tree-wide: replace MAYBE_UNUSED with ASSERTED 2019-07-31 09:41:05 +01:00