gallium: add PIPE_CAP_TGSI_TES_LAYER_VIEWPORT

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
This commit is contained in:
Nicolai Hähnle
2017-04-13 21:54:54 +02:00
parent 8b5d477aa8
commit 17f24a9b75
17 changed files with 19 additions and 0 deletions

View File

@@ -386,6 +386,9 @@ The integer capabilities:
most 64KB. most 64KB.
* ``PIPE_CAP_TGSI_BALLOT``: Whether the BALLOT and READ_* opcodes as well as * ``PIPE_CAP_TGSI_BALLOT``: Whether the BALLOT and READ_* opcodes as well as
the SUBGROUP_* semantics are supported. the SUBGROUP_* semantics are supported.
* ``PIPE_CAP_TGSI_TES_LAYER_VIEWPORT``: Whether ``TGSI_SEMANTIC_LAYER`` and
``TGSI_SEMANTIC_VIEWPORT_INDEX`` are supported as tessellation evaluation
shader outputs.
.. _pipe_capf: .. _pipe_capf:

View File

@@ -249,6 +249,7 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE: case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE:
case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE: case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE:
case PIPE_CAP_TGSI_BALLOT: case PIPE_CAP_TGSI_BALLOT:
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
return 0; return 0;
/* Stream output. */ /* Stream output. */

View File

@@ -306,6 +306,7 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE: case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE:
case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE: case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE:
case PIPE_CAP_TGSI_BALLOT: case PIPE_CAP_TGSI_BALLOT:
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
return 0; return 0;
case PIPE_CAP_MAX_VIEWPORTS: case PIPE_CAP_MAX_VIEWPORTS:

View File

@@ -305,6 +305,7 @@ i915_get_param(struct pipe_screen *screen, enum pipe_cap cap)
case PIPE_CAP_TGSI_CLOCK: case PIPE_CAP_TGSI_CLOCK:
case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE: case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE:
case PIPE_CAP_TGSI_BALLOT: case PIPE_CAP_TGSI_BALLOT:
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
return 0; return 0;
case PIPE_CAP_MAX_VIEWPORTS: case PIPE_CAP_MAX_VIEWPORTS:

View File

@@ -351,6 +351,7 @@ llvmpipe_get_param(struct pipe_screen *screen, enum pipe_cap param)
case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE: case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE:
case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE: case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE:
case PIPE_CAP_TGSI_BALLOT: case PIPE_CAP_TGSI_BALLOT:
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
return 0; return 0;
} }
/* should only get here on unhandled cases */ /* should only get here on unhandled cases */

View File

@@ -215,6 +215,7 @@ nv30_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE: case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE:
case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE: case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE:
case PIPE_CAP_TGSI_BALLOT: case PIPE_CAP_TGSI_BALLOT:
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
return 0; return 0;
case PIPE_CAP_VENDOR_ID: case PIPE_CAP_VENDOR_ID:

View File

@@ -267,6 +267,7 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE: case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE:
case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE: case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE:
case PIPE_CAP_TGSI_BALLOT: case PIPE_CAP_TGSI_BALLOT:
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
return 0; return 0;
case PIPE_CAP_VENDOR_ID: case PIPE_CAP_VENDOR_ID:

View File

@@ -291,6 +291,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
case PIPE_CAP_GLSL_OPTIMIZE_CONSERVATIVELY: case PIPE_CAP_GLSL_OPTIMIZE_CONSERVATIVELY:
case PIPE_CAP_INT64_DIVMOD: case PIPE_CAP_INT64_DIVMOD:
case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE: case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE:
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
return 0; return 0;
case PIPE_CAP_VENDOR_ID: case PIPE_CAP_VENDOR_ID:

View File

@@ -237,6 +237,7 @@ static int r300_get_param(struct pipe_screen* pscreen, enum pipe_cap param)
case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE: case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE:
case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE: case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE:
case PIPE_CAP_TGSI_BALLOT: case PIPE_CAP_TGSI_BALLOT:
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
return 0; return 0;
/* SWTCL-only features. */ /* SWTCL-only features. */

View File

@@ -385,6 +385,7 @@ static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param)
case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE: case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE:
case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE: case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE:
case PIPE_CAP_TGSI_BALLOT: case PIPE_CAP_TGSI_BALLOT:
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
return 0; return 0;
case PIPE_CAP_DOUBLES: case PIPE_CAP_DOUBLES:

View File

@@ -506,6 +506,7 @@ static int si_get_param(struct pipe_screen* pscreen, enum pipe_cap param)
case PIPE_CAP_TGSI_MUL_ZERO_WINS: case PIPE_CAP_TGSI_MUL_ZERO_WINS:
case PIPE_CAP_UMA: case PIPE_CAP_UMA:
case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE: case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE:
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
return 0; return 0;
case PIPE_CAP_QUERY_BUFFER_OBJECT: case PIPE_CAP_QUERY_BUFFER_OBJECT:

View File

@@ -301,6 +301,7 @@ softpipe_get_param(struct pipe_screen *screen, enum pipe_cap param)
case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE: case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE:
case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE: case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE:
case PIPE_CAP_TGSI_BALLOT: case PIPE_CAP_TGSI_BALLOT:
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
return 0; return 0;
case PIPE_CAP_SHADER_BUFFER_OFFSET_ALIGNMENT: case PIPE_CAP_SHADER_BUFFER_OFFSET_ALIGNMENT:
return 4; return 4;

View File

@@ -431,6 +431,7 @@ svga_get_param(struct pipe_screen *screen, enum pipe_cap param)
case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE: case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE:
case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE: case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE:
case PIPE_CAP_TGSI_BALLOT: case PIPE_CAP_TGSI_BALLOT:
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
return 0; return 0;
} }

View File

@@ -336,6 +336,7 @@ swr_get_param(struct pipe_screen *screen, enum pipe_cap param)
case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE: case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE:
case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE: case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE:
case PIPE_CAP_TGSI_BALLOT: case PIPE_CAP_TGSI_BALLOT:
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
return 0; return 0;
case PIPE_CAP_VENDOR_ID: case PIPE_CAP_VENDOR_ID:

View File

@@ -251,6 +251,7 @@ vc4_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE: case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE:
case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE: case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE:
case PIPE_CAP_TGSI_BALLOT: case PIPE_CAP_TGSI_BALLOT:
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
return 0; return 0;
/* Stream output. */ /* Stream output. */

View File

@@ -261,6 +261,7 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap param)
case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE: case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE:
case PIPE_CAP_TGSI_BALLOT: case PIPE_CAP_TGSI_BALLOT:
case PIPE_CAP_DOUBLES: case PIPE_CAP_DOUBLES:
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
return 0; return 0;
case PIPE_CAP_VENDOR_ID: case PIPE_CAP_VENDOR_ID:
return 0x1af4; return 0x1af4;

View File

@@ -761,6 +761,7 @@ enum pipe_cap
PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE, PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE,
PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE, PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE,
PIPE_CAP_TGSI_BALLOT, PIPE_CAP_TGSI_BALLOT,
PIPE_CAP_TGSI_TES_LAYER_VIEWPORT,
}; };
#define PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_NV50 (1 << 0) #define PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_NV50 (1 << 0)