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:
@@ -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:
|
||||||
|
@@ -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. */
|
||||||
|
@@ -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:
|
||||||
|
@@ -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:
|
||||||
|
@@ -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 */
|
||||||
|
@@ -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:
|
||||||
|
@@ -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:
|
||||||
|
@@ -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:
|
||||||
|
@@ -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. */
|
||||||
|
@@ -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:
|
||||||
|
@@ -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:
|
||||||
|
@@ -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;
|
||||||
|
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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:
|
||||||
|
@@ -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. */
|
||||||
|
@@ -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;
|
||||||
|
@@ -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)
|
||||||
|
Reference in New Issue
Block a user