aboutsummaryrefslogtreecommitdiffstats
path: root/src/glsl/Makefile
diff options
context:
space:
mode:
authorPaul Berry <[email protected]>2011-08-11 20:58:21 -0700
committerPaul Berry <[email protected]>2011-09-23 13:28:43 -0700
commitc06e32596735074536b0e613cbddb1c5fd7b367a (patch)
treee062d9b19ebbab5dd27926260f67afb4bcb27390 /src/glsl/Makefile
parentcc81eb09b928389f926b3512c18b3298777d2928 (diff)
glsl: Implement a lowering pass for gl_ClipDistance.
In i965 GEN6+ (and I suspect most other hardware), gl_ClipDistance needs to be laid out as a pair of vec4's (the first containing clip distances 0-3, and the second containing clip distances 4-7). However, it is declared in GLSL as an array of 8 floats. This lowering pass acts at the GLSL level, modifying the declaration of gl_ClipDistance so that it is an array of vec4's rather than an array of floats, and renaming it to gl_ClipDistanceMESA. In addition, it modifies all accesses to the array so that they access the appropiate component of one of the vec4's. Since some hardware may not internally represent gl_ClipDistance as a pair of vec4's, this lowering pass is optional. To enable it, set the LowerClipDistance flag in gl_shader_compiler_options to true. Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/glsl/Makefile')
-rw-r--r--src/glsl/Makefile1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/glsl/Makefile b/src/glsl/Makefile
index 00b7b91643c..b2efb2abc51 100644
--- a/src/glsl/Makefile
+++ b/src/glsl/Makefile
@@ -56,6 +56,7 @@ CXX_SOURCES = \
loop_analysis.cpp \
loop_controls.cpp \
loop_unroll.cpp \
+ lower_clip_distance.cpp \
lower_discard.cpp \
lower_if_to_cond_assign.cpp \
lower_instructions.cpp \