summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/intel_buffers.c
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2013-10-26 11:34:11 -0700
committerKenneth Graunke <[email protected]>2013-10-31 11:04:37 -0700
commit066fb237e642ec5ebe2c86f89753cba1ad389410 (patch)
tree5e0e4c0242dbf99344fd88837adcfb97fce1589f /src/mesa/drivers/dri/i965/intel_buffers.c
parent7232e8bea71c281090a4c378156bde856782078e (diff)
i965: Add support for gl_SkipComponents[1234].
ARB_transform_feedback3 allows applications to insert blank space between interleaved varyings by adding fake 1, 2, 3, or 4-component varyings named gl_SkipComponents[1234]. Mesa's core data structures don't explicitly track these, instead simply tracking the buffer offset for each real varying. If there is padding due to gl_SkipComponents, these will not be contiguous. Our hardware takes the specification quite literally. Instead of specifying offsets for each varying, it assumes they're all contiguous and requires you to program fake varyings for each "hole". This patch adds support for emitting SO_DECL structures for these holes. Although we've lost the information about exactly how the application specified their padding (i.e. gl_SkipComponents2, gl_SkipComponents2 vs. a single gl_SkipComponents4), it shouldn't matter. We just need to emit the right amount of space. This patch emits the minimal number of hole SO_DECL structures. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/i965/intel_buffers.c')
0 files changed, 0 insertions, 0 deletions