summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2017-09-01 22:35:43 -0700
committerJason Ekstrand <[email protected]>2017-11-07 10:37:52 -0800
commitebaee9da4adaad10e1c46bdd2f5521175ea04044 (patch)
treed77cd0f436096655b450c354cd4fb6d09b0fbe18
parentb67230de635528bfc6d5e66b90f7406eb97eb1c0 (diff)
intel/fs: Uniformize the index in readInvocation
The index is any value provided by the shader and this can be called in non-uniform control flow so we can't just take component 0. Found by inspection. Reviewed-by: Iago Toral Quiroga <[email protected]>
-rw-r--r--src/intel/compiler/brw_fs_nir.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/intel/compiler/brw_fs_nir.cpp b/src/intel/compiler/brw_fs_nir.cpp
index 07bb1ad0e13..201a23f83bd 100644
--- a/src/intel/compiler/brw_fs_nir.cpp
+++ b/src/intel/compiler/brw_fs_nir.cpp
@@ -4305,7 +4305,7 @@ fs_visitor::nir_emit_intrinsic(const fs_builder &bld, nir_intrinsic_instr *instr
fs_reg tmp = bld.vgrf(value.type);
bld.exec_all().emit(SHADER_OPCODE_BROADCAST, tmp, value,
- component(invocation, 0));
+ bld.emit_uniformize(invocation));
bld.MOV(retype(dest, BRW_REGISTER_TYPE_D),
fs_reg(component(tmp, 0)));