gallium: add support for layered rendering
Since pipe_surface already has all the necessary fields no interface changes are necessary except adding a new shader semantic value (TGSI_SEMANTIC_LAYER). (Note that what GL knows as "gl_Layer" variable d3d10 is naming "RENDER_TARGET_ARRAY_INDEX".) v2: drop cap bit (just tied to geometry shader), add docs.
This commit is contained in:
@@ -2400,14 +2400,32 @@ Edge flags are used to control which lines or points are actually
|
||||
drawn when the polygon mode converts triangles/quads/polygons into
|
||||
points or lines.
|
||||
|
||||
TGSI_SEMANTIC_STENCIL
|
||||
""""""""""""""""""""""
|
||||
|
||||
For fragment shaders, this semantic label indicates than an output
|
||||
TGSI_SEMANTIC_STENCIL
|
||||
"""""""""""""""""""""
|
||||
|
||||
For fragment shaders, this semantic label indicates that an output
|
||||
is a writable stencil reference value. Only the Y component is writable.
|
||||
This allows the fragment shader to change the fragments stencilref value.
|
||||
|
||||
|
||||
TGSI_SEMANTIC_VIEWPORT_INDEX
|
||||
""""""""""""""""""""""""""""
|
||||
|
||||
For geometry shaders, this semantic label indicates that an output
|
||||
contains the index of the viewport (and scissor) to use.
|
||||
Only the X value is used.
|
||||
|
||||
|
||||
TGSI_SEMANTIC_LAYER
|
||||
"""""""""""""""""""
|
||||
|
||||
For geometry shaders, this semantic label indicates that an output
|
||||
contains the layer value to use for the color and depth/stencil surfaces.
|
||||
Only the X value is used. (Also known as rendertarget array index.)
|
||||
|
||||
|
||||
|
||||
Declaration Interpolate
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
@@ -165,7 +165,8 @@ struct tgsi_declaration_interp
|
||||
#define TGSI_SEMANTIC_TEXCOORD 19 /**< texture or sprite coordinates */
|
||||
#define TGSI_SEMANTIC_PCOORD 20 /**< point sprite coordinate */
|
||||
#define TGSI_SEMANTIC_VIEWPORT_INDEX 21 /**< viewport index */
|
||||
#define TGSI_SEMANTIC_COUNT 22 /**< number of semantic values */
|
||||
#define TGSI_SEMANTIC_LAYER 22 /**< layer (rendertarget index) */
|
||||
#define TGSI_SEMANTIC_COUNT 23 /**< number of semantic values */
|
||||
|
||||
struct tgsi_declaration_semantic
|
||||
{
|
||||
|
Reference in New Issue
Block a user