summaryrefslogtreecommitdiffstats
path: root/src/intel/vulkan/anv_pipeline.c
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2016-12-05 15:20:52 -0800
committerJason Ekstrand <[email protected]>2016-12-05 15:21:20 -0800
commit0291bf4db2affbfb6a7daeb562c0cf56f6a85829 (patch)
tree2a5fc1b9179af8e8cf8879d899c24ff2618a9128 /src/intel/vulkan/anv_pipeline.c
parent5f0e4c7c798827950e835d40912024480ec6d665 (diff)
Revert "i965: use nir_lower_indirect_derefs() for GLSL"
This reverts commit 9404439a754e5640ccd98df40fa694835c0d8759. I didn't intend to push it and it breaks clip and cull distance.
Diffstat (limited to 'src/intel/vulkan/anv_pipeline.c')
-rw-r--r--src/intel/vulkan/anv_pipeline.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c
index 6b0a3c97586..9b65e353a90 100644
--- a/src/intel/vulkan/anv_pipeline.c
+++ b/src/intel/vulkan/anv_pipeline.c
@@ -177,6 +177,16 @@ anv_shader_compile_to_nir(struct anv_device *device,
nir_shader_gather_info(nir, entry_point->impl);
+ nir_variable_mode indirect_mask = 0;
+ if (compiler->glsl_compiler_options[stage].EmitNoIndirectInput)
+ indirect_mask |= nir_var_shader_in;
+ if (compiler->glsl_compiler_options[stage].EmitNoIndirectOutput)
+ indirect_mask |= nir_var_shader_out;
+ if (compiler->glsl_compiler_options[stage].EmitNoIndirectTemp)
+ indirect_mask |= nir_var_local;
+
+ nir_lower_indirect_derefs(nir, indirect_mask);
+
return nir;
}