nir/spirv: Allow non-block variables with interface types in lists
authorJason Ekstrand <jason.ekstrand@intel.com>
Tue, 12 Jan 2016 09:31:10 +0000 (01:31 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Tue, 12 Jan 2016 09:32:19 +0000 (01:32 -0800)
The original objective was to disallow UBO and SSBO variables from the
variable lists.  This was accidentally broken in b208620fd when fixing some
other interface issues.

src/glsl/nir/spirv/spirv_to_nir.c

index 78d5940a75ec18931d0a31485b8bd2e78b1e531d..71e589d88b7f56f54cabee00a88f566cf2b7bdb7 100644 (file)
@@ -1816,7 +1816,7 @@ vtn_handle_variables(struct vtn_builder *b, SpvOp opcode,
       /* Interface block variables aren't actually going to be referenced
        * by the generated NIR, so we don't put them in the list
        */
-      if (var->interface_type)
+      if (var->interface_type && glsl_type_is_struct(var->interface_type))
          break;
 
       if (var->data.mode == nir_var_local) {