From fb024f5e72014efea5007684c7e61cd31a2cd9c8 Mon Sep 17 00:00:00 2001 From: Caio Marcelo de Oliveira Filho Date: Thu, 21 Mar 2019 15:02:38 -0700 Subject: [PATCH] intel/compiler: handle GLSL_TYPE_INTERFACE as GLSL_TYPE_STRUCT Reviewed-by: Jason Ekstrand --- src/intel/compiler/brw_fs.cpp | 2 +- src/intel/compiler/brw_shader.cpp | 2 +- src/intel/compiler/brw_vec4_visitor.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp index fb6c23e..964cde0 100644 --- a/src/intel/compiler/brw_fs.cpp +++ b/src/intel/compiler/brw_fs.cpp @@ -542,6 +542,7 @@ type_size_scalar(const struct glsl_type *type) case GLSL_TYPE_ARRAY: return type_size_scalar(type->fields.array) * type->length; case GLSL_TYPE_STRUCT: + case GLSL_TYPE_INTERFACE: size = 0; for (i = 0; i < type->length; i++) { size += type_size_scalar(type->fields.structure[i].type); @@ -558,7 +559,6 @@ type_size_scalar(const struct glsl_type *type) return 1; case GLSL_TYPE_VOID: case GLSL_TYPE_ERROR: - case GLSL_TYPE_INTERFACE: case GLSL_TYPE_FUNCTION: unreachable("not reached"); } diff --git a/src/intel/compiler/brw_shader.cpp b/src/intel/compiler/brw_shader.cpp index 1a9f097..f9e88d4 100644 --- a/src/intel/compiler/brw_shader.cpp +++ b/src/intel/compiler/brw_shader.cpp @@ -55,6 +55,7 @@ brw_type_for_base_type(const struct glsl_type *type) case GLSL_TYPE_ARRAY: return brw_type_for_base_type(type->fields.array); case GLSL_TYPE_STRUCT: + case GLSL_TYPE_INTERFACE: case GLSL_TYPE_SAMPLER: case GLSL_TYPE_ATOMIC_UINT: /* These should be overridden with the type of the member when @@ -72,7 +73,6 @@ brw_type_for_base_type(const struct glsl_type *type) return BRW_REGISTER_TYPE_Q; case GLSL_TYPE_VOID: case GLSL_TYPE_ERROR: - case GLSL_TYPE_INTERFACE: case GLSL_TYPE_FUNCTION: unreachable("not reached"); } diff --git a/src/intel/compiler/brw_vec4_visitor.cpp b/src/intel/compiler/brw_vec4_visitor.cpp index 7d6032a..16ee31d 100644 --- a/src/intel/compiler/brw_vec4_visitor.cpp +++ b/src/intel/compiler/brw_vec4_visitor.cpp @@ -611,6 +611,7 @@ type_size_xvec4(const struct glsl_type *type, bool as_vec4) assert(type->length > 0); return type_size_xvec4(type->fields.array, as_vec4) * type->length; case GLSL_TYPE_STRUCT: + case GLSL_TYPE_INTERFACE: size = 0; for (i = 0; i < type->length; i++) { size += type_size_xvec4(type->fields.structure[i].type, as_vec4); @@ -630,7 +631,6 @@ type_size_xvec4(const struct glsl_type *type, bool as_vec4) return DIV_ROUND_UP(BRW_IMAGE_PARAM_SIZE, 4); case GLSL_TYPE_VOID: case GLSL_TYPE_ERROR: - case GLSL_TYPE_INTERFACE: case GLSL_TYPE_FUNCTION: unreachable("not reached"); } -- 2.7.4