summaryrefslogtreecommitdiffstats
path: root/src/glsl/ast.h
diff options
context:
space:
mode:
authorPaul Berry <[email protected]>2011-09-20 16:43:06 -0700
committerPaul Berry <[email protected]>2011-09-28 11:38:03 -0700
commita864b82a04efd0642f5b2a9489b3c20dac46551f (patch)
tree8d673d1196130e8320ef23a3a4feda1ecbf4f5d1 /src/glsl/ast.h
parente6c8027ccb44de58a51956306dfe93146dcbf526 (diff)
i965: allow for nonconsecutive elements of gl_ClipDistance to be enabled.
When using user-defined clipping planes, the i965 driver compacts the array of clipping planes so that disabled clipping planes do not appear in it--this saves precious push constant space and makes it easier to generate the pre-GEN6 clip program. As a result, when enabling clipping planes in GEN6+ hardware, we always enable clipping planes 0 through n-1 (where n is the number of clipping planes enabled), regardless of which clipping planes the user actually requested. However, we can't do this when using gl_ClipDistance, because it would be prohibitively complex to compact the gl_ClipDistance array inside the user-supplied vertex shader. So, when enabling clipping planes in GEN6+ hardware, if gl_ClipDistance is in use, we need to pass the user-supplied enable flags directly through to the hardware rather than just enabling the first n planes. Fixes Piglit test vs-clip-distance-enables. Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/glsl/ast.h')
0 files changed, 0 insertions, 0 deletions