[Mesa-dev] [PATCH 1/2] i965/vec4: Handle nir_instr_type_deref to silence run-time output

Ian Romanick idr at freedesktop.org
Tue Jul 3 05:26:25 UTC 2018


From: Ian Romanick <ian.d.romanick at intel.com>

Previously, shader-db runs on Gen5 through Haswell would spew tons of
messages like:

    VS instruction not yet implemented by NIR->vec4

I checked several instance of this, and all of them were
nir_instr_type_deref instructions in vertex shaders that had texture
accesses (e.g., UnrealEngine4/EffectsCaveDemo/239.shader_test).

Solution copied directly from fs_visitor::nir_emit_instr.

Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Fixes: 5a02ffb733e nir: Rework lower_locals_to_regs to use deref instructions
Cc: Jason Ekstrand <jason at jlekstrand.net>
---
 src/intel/compiler/brw_vec4_nir.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/intel/compiler/brw_vec4_nir.cpp b/src/intel/compiler/brw_vec4_nir.cpp
index 7131fa06b4a..5f45d5b0c98 100644
--- a/src/intel/compiler/brw_vec4_nir.cpp
+++ b/src/intel/compiler/brw_vec4_nir.cpp
@@ -168,6 +168,10 @@ vec4_visitor::nir_emit_instr(nir_instr *instr)
       nir_emit_undef(nir_instr_as_ssa_undef(instr));
       break;
 
+   case nir_instr_type_deref:
+      /* Derefs can exist for images but they do nothing */
+      break;
+
    default:
       fprintf(stderr, "VS instruction not yet implemented by NIR->vec4\n");
       break;
-- 
2.14.4



More information about the mesa-dev mailing list