mesa/src
Kenneth Graunke 066fb237e6 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 <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2013-10-31 11:04:37 -07:00
..
egl wayland: silence unused var warning 2013-10-30 12:50:09 -07:00
gallium radeonsi: Allow longer intrinsic names 2013-10-30 16:40:06 -07:00
gbm dri: Pass in the dlsym()ed driver extension to screen creation. 2013-10-24 14:04:20 -07:00
getopt
glsl glsl: fix MSVC int->bool conversion warning 2013-10-31 08:21:58 -06:00
glx scons: Add missing dependencies to src/mapi/glapi/gen/*.xml 2013-10-30 12:21:54 +00:00
gtest gtest: Build it only for 'make check'. 2013-01-13 12:38:44 +01:00
mapi scons: Add missing dependencies to src/mapi/glapi/gen/*.xml 2013-10-30 12:21:54 +00:00
mesa i965: Add support for gl_SkipComponents[1234]. 2013-10-31 11:04:37 -07:00
Makefile.am gbm: Link to libwayland-drm if Wayland EGL platform is enabled 2013-08-12 15:16:22 -07:00
SConscript Remove libGLU 2012-08-31 10:58:15 -07:00