mesa/src/gallium/include/state_tracker
Kenneth Graunke 9b577f2a88 driconf, glsl: Add a vs_position_always_invariant option
Many applications use multi-pass rendering and require their vertex
shader position to be computed the same way each time.  Optimizations
may consider, say, fusing a multiply-add based on global usage of an
expression in a shader.  But a second shader with the same expression
may have different code, causing that optimization to make the other
choice the second time around.

The correct solution is for applications to mark their VS outputs
'invariant', indicating they need multiple shaders to compute that
output in the same manner.  However, most applications fail to do so.

So, we add a new driconf option - vs_position_always_invariant - which
forces the gl_Position output in vertex shaders to be marked invariant.

Fixes: 7025dbe794 ("nir: Skip emitting no-op movs from the builder.")
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2019-11-27 18:48:04 +00:00
..
drisw_api.h gallium: use put image shm2 path (v2) 2019-01-25 04:27:45 +10:00
drm_driver.h gallium: replace drm_driver_descriptor::configuration with driconf_xml 2019-04-23 21:20:26 -04:00
graw.h gallium: remove boolean from state tracker APIs 2019-07-22 22:13:51 -04:00
opencl_interop.h gallium,clover: add OpenCL interoperability support for CL events 2015-04-30 14:38:38 +02:00
st_api.h driconf, glsl: Add a vs_position_always_invariant option 2019-11-27 18:48:04 +00:00
sw_driver.h gallium: annotate sw_driver_descriptor instance as const data 2016-10-14 11:09:00 +01:00
sw_winsys.h gallium: remove boolean from state tracker APIs 2019-07-22 22:13:51 -04:00
vdpau_dmabuf.h st/vdpau: fix argument type to vlVdpOutputSurfaceDMABuf 2016-09-20 11:13:05 +02:00
vdpau_funcs.h st/vdpau: move FormatRGBAToPipe into the interop 2016-03-29 17:29:14 +02:00
vdpau_interop.h st/vdpau: add new interop interface 2016-03-29 17:29:10 +02:00
winsys_handle.h state_tracker/winsys_handle: Add plane input field 2019-08-13 01:12:29 -07:00
xlibsw_api.h