summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2015-07-21 14:52:40 +1000
committerDave Airlie <[email protected]>2015-07-23 17:25:27 +1000
commitf73ef824869dbb1f91c32ad563c95ca917f40c12 (patch)
tree59c34bdec162d1214391faf9c487ecfd8f6cc4b1
parent57f24299b7fe0f7b20c2a3cf1e94c747825b568d (diff)
glsl: don't eliminate subroutine types.
This stops dead code from removing subroutines types, we need these for the queries to work properly. Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
-rw-r--r--src/glsl/opt_dead_code.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/glsl/opt_dead_code.cpp b/src/glsl/opt_dead_code.cpp
index 04e4d5673d2..e4bf874700c 100644
--- a/src/glsl/opt_dead_code.cpp
+++ b/src/glsl/opt_dead_code.cpp
@@ -126,6 +126,9 @@ do_dead_code(exec_list *instructions, bool uniform_locations_assigned)
if (block_type->interface_packing != GLSL_INTERFACE_PACKING_PACKED)
continue;
}
+
+ if (entry->var->type->is_subroutine())
+ continue;
}
entry->var->remove();