mesa/src
Kenneth Graunke 1617f59bc6 glsl: Check TCS barrier restrictions at ast_to_hir time, not link time.
We want to check prior to optimization - otherwise we might fail to
detect cases where barrier() is in control flow which is always taken
(and therefore gets optimized away).

We don't currently loop unroll if there are function calls inside;
otherwise we might have a problem detecting barrier() in loops that
get unrolled as well.

Tapani's switch handling code adds a loop around switch statements, so
even with the mess of if ladders, we'll properly reject it.

Enforcing these rules at compile time makes more sense more sense than
link time.  Doing it at ast-to-hir time (rather than as an IR pass)
allows us to emit an error message with proper line numbers.
(Otherwise, I would have preferred the IR pass...)

Fixes spec/arb_tessellation_shader/compiler/barrier-switch-always.tesc.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by; Ian Romanick <ian.d.romanick@intel.com>
2016-09-23 16:40:40 -07:00
..
amd radeonsi/compute: Use the HSA abi for non-TGSI compute shaders v3 2016-09-16 23:07:10 +00:00
compiler glsl: Check TCS barrier restrictions at ast_to_hir time, not link time. 2016-09-23 16:40:40 -07:00
egl egl: return corresponding offset of EGLImage instead of 0. 2016-09-21 12:19:19 +01:00
gallium gallium: remove unused PIPE_CC_GCC_VERSION 2016-09-23 16:18:21 +10:00
gbm gbm: remove left-over array 2016-09-14 14:37:34 +01:00
getopt Introduce .editorconfig 2016-08-31 17:06:54 -07:00
glx direct-to-native-GL for GLX clients on Cygwin ("Windows-DRI") 2016-09-15 13:14:43 +01:00
gtest Introduce .editorconfig 2016-08-31 17:06:54 -07:00
hgl Introduce .editorconfig 2016-08-31 17:06:54 -07:00
intel anv: Check for VK_WHOLE_SIZE in anv_CmdFillBuffer 2016-09-23 00:20:16 -07:00
loader loader/dri3: Always use at least two back buffers 2016-09-06 13:04:48 +09:00
mapi Revert "mapi: export all GLES 3.2 functions in libGLESv2.so" 2016-09-23 12:13:13 -07:00
mesa glsl: move xfb BufferStride into gl_transform_feedback_info 2016-09-24 09:18:29 +10:00
util util: remove Sun C Compiler support 2016-09-23 16:17:16 +10:00
Makefile.am mesa: Remove prog_hash_table.c 2016-09-12 10:48:35 +10:00
SConscript