summaryrefslogtreecommitdiffstats
path: root/src/glsl
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2015-07-21 14:22:11 +1000
committerDave Airlie <[email protected]>2015-07-24 10:25:08 +1000
commit80511d176a49e754a18ce585bab413db7af63bf7 (patch)
tree1fd0c8bb0ce74c687b003cd3a0ff5477196f7249 /src/glsl
parent17f71483698a4e134a0c85ef0aa3da80fdfdb180 (diff)
i965: add support for ARB_shader_subroutine
This just adds some missing pieces to nir/i965, it is lightly tested on my Haswell. Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/glsl')
-rw-r--r--src/glsl/glsl_types.cpp4
-rw-r--r--src/glsl/nir/glsl_to_nir.cpp1
2 files changed, 3 insertions, 2 deletions
diff --git a/src/glsl/glsl_types.cpp b/src/glsl/glsl_types.cpp
index 8510671d2f3..755618ac28b 100644
--- a/src/glsl/glsl_types.cpp
+++ b/src/glsl/glsl_types.cpp
@@ -1027,11 +1027,11 @@ glsl_type::component_slots() const
case GLSL_TYPE_IMAGE:
return 1;
-
+ case GLSL_TYPE_SUBROUTINE:
+ return 1;
case GLSL_TYPE_SAMPLER:
case GLSL_TYPE_ATOMIC_UINT:
case GLSL_TYPE_VOID:
- case GLSL_TYPE_SUBROUTINE:
case GLSL_TYPE_ERROR:
break;
}
diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/glsl/nir/glsl_to_nir.cpp
index 66430f39995..77327b6c74f 100644
--- a/src/glsl/nir/glsl_to_nir.cpp
+++ b/src/glsl/nir/glsl_to_nir.cpp
@@ -1171,6 +1171,7 @@ nir_visitor::visit(ir_expression *ir)
case ir_unop_bitcast_f2i:
case ir_unop_bitcast_u2f:
case ir_unop_bitcast_f2u:
+ case ir_unop_subroutine_to_int:
/* no-op */
emit(nir_op_imov, dest_size, srcs);
break;