gallium: rename layer-viewport caps
Similar to the previous commits, these aren't TGSI specific, so let's drop TGSI from their name. Reviewed-by: Adam Jackson <ajax@redhat.com> Acked-by: Ian Romanick <ian.d.romanick@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15316>
This commit is contained in:
parent
8ac7dc9cf6
commit
89797fac56
|
@ -206,10 +206,9 @@ The integer capabilities:
|
|||
* ``PIPE_CAP_MIXED_FRAMEBUFFER_SIZES``: Whether it is allowed to have
|
||||
different sizes for fb color/zs attachments. This controls whether
|
||||
ARB_framebuffer_object is provided.
|
||||
* ``PIPE_CAP_TGSI_VS_LAYER_VIEWPORT``: Whether ``TGSI_SEMANTIC_LAYER`` and
|
||||
``TGSI_SEMANTIC_VIEWPORT_INDEX`` are supported as vertex shader
|
||||
outputs. Note that the viewport will only be used if multiple viewports are
|
||||
exposed.
|
||||
* ``PIPE_CAP_VS_LAYER_VIEWPORT``: Whether ``VARYING_SLOT_LAYER`` and
|
||||
``VARYING_SLOT_VIEWPORT`` are supported as vertex shader outputs. Note that
|
||||
the viewport will only be used if multiple viewports are exposed.
|
||||
* ``PIPE_CAP_MAX_GEOMETRY_OUTPUT_VERTICES``: The maximum number of vertices
|
||||
output by a single invocation of a geometry shader.
|
||||
* ``PIPE_CAP_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS``: The maximum number of
|
||||
|
@ -439,8 +438,8 @@ The integer capabilities:
|
|||
most 64KB.
|
||||
* ``PIPE_CAP_TGSI_BALLOT``: Whether the BALLOT and READ_* opcodes as well as
|
||||
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
|
||||
* ``PIPE_CAP_TES_LAYER_VIEWPORT``: Whether ``VARYING_SLOT_LAYER`` and
|
||||
``VARYING_SLOT_VIEWPORT`` are supported as tessellation evaluation
|
||||
shader outputs.
|
||||
* ``PIPE_CAP_CAN_BIND_CONST_BUFFER_AS_VERTEX``: Whether a buffer with just
|
||||
PIPE_BIND_CONSTANT_BUFFER can be legally passed to set_vertex_buffers.
|
||||
|
|
|
@ -3249,7 +3249,7 @@ For geometry shaders, this semantic label indicates that an output
|
|||
contains the index of the viewport (and scissor) to use.
|
||||
This is an integer value, and only the X component is used.
|
||||
|
||||
If PIPE_CAP_TGSI_VS_LAYER_VIEWPORT or PIPE_CAP_TGSI_TES_LAYER_VIEWPORT is
|
||||
If PIPE_CAP_VS_LAYER_VIEWPORT or PIPE_CAP_TES_LAYER_VIEWPORT is
|
||||
supported, then this semantic label can also be used in vertex or
|
||||
tessellation evaluation shaders, respectively. Only the value written in the
|
||||
last vertex processing stage is used.
|
||||
|
@ -3263,7 +3263,7 @@ contains the layer value to use for the color and depth/stencil surfaces.
|
|||
This is an integer value, and only the X component is used.
|
||||
(Also known as rendertarget array index.)
|
||||
|
||||
If PIPE_CAP_TGSI_VS_LAYER_VIEWPORT or PIPE_CAP_TGSI_TES_LAYER_VIEWPORT is
|
||||
If PIPE_CAP_VS_LAYER_VIEWPORT or PIPE_CAP_TES_LAYER_VIEWPORT is
|
||||
supported, then this semantic label can also be used in vertex or
|
||||
tessellation evaluation shaders, respectively. Only the value written in the
|
||||
last vertex processing stage is used.
|
||||
|
|
|
@ -338,7 +338,7 @@ struct blitter_context *util_blitter_create(struct pipe_context *pipe)
|
|||
|
||||
ctx->has_layered =
|
||||
pipe->screen->get_param(pipe->screen, PIPE_CAP_VS_INSTANCEID) &&
|
||||
pipe->screen->get_param(pipe->screen, PIPE_CAP_TGSI_VS_LAYER_VIEWPORT);
|
||||
pipe->screen->get_param(pipe->screen, PIPE_CAP_VS_LAYER_VIEWPORT);
|
||||
|
||||
/* set invariant vertex coordinates */
|
||||
for (i = 0; i < 4; i++) {
|
||||
|
|
|
@ -179,7 +179,7 @@ u_pipe_screen_get_param_defaults(struct pipe_screen *pscreen,
|
|||
return PIPE_ENDIAN_LITTLE;
|
||||
|
||||
case PIPE_CAP_MIXED_FRAMEBUFFER_SIZES:
|
||||
case PIPE_CAP_TGSI_VS_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_VS_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_MAX_GEOMETRY_OUTPUT_VERTICES:
|
||||
case PIPE_CAP_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS:
|
||||
case PIPE_CAP_MAX_TEXTURE_GATHER_COMPONENTS: /* Enables ARB_texture_gather */
|
||||
|
@ -311,7 +311,7 @@ u_pipe_screen_get_param_defaults(struct pipe_screen *pscreen,
|
|||
case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE:
|
||||
case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE:
|
||||
case PIPE_CAP_TGSI_BALLOT:
|
||||
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_TES_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_CAN_BIND_CONST_BUFFER_AS_VERTEX:
|
||||
case PIPE_CAP_TGSI_DIV:
|
||||
case PIPE_CAP_NIR_ATOMICS_AS_DEREF:
|
||||
|
|
|
@ -168,8 +168,8 @@ crocus_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
|||
case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT:
|
||||
case PIPE_CAP_FORCE_PERSAMPLE_INTERP:
|
||||
case PIPE_CAP_MIXED_FRAMEBUFFER_SIZES:
|
||||
case PIPE_CAP_TGSI_VS_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_VS_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_TES_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_ACCELERATED:
|
||||
case PIPE_CAP_UMA:
|
||||
case PIPE_CAP_CLIP_HALFZ:
|
||||
|
|
|
@ -192,8 +192,8 @@ iris_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
|||
case PIPE_CAP_MULTI_DRAW_INDIRECT:
|
||||
case PIPE_CAP_MULTI_DRAW_INDIRECT_PARAMS:
|
||||
case PIPE_CAP_MIXED_FRAMEBUFFER_SIZES:
|
||||
case PIPE_CAP_TGSI_VS_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_VS_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_TES_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_TGSI_FS_FINE_DERIVATIVE:
|
||||
case PIPE_CAP_SHADER_PACK_HALF_FLOAT:
|
||||
case PIPE_CAP_ACCELERATED:
|
||||
|
|
|
@ -241,8 +241,8 @@ llvmpipe_get_param(struct pipe_screen *screen, enum pipe_cap param)
|
|||
return PIPE_MAX_VIEWPORTS;
|
||||
case PIPE_CAP_ENDIANNESS:
|
||||
return PIPE_ENDIAN_NATIVE;
|
||||
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_TGSI_VS_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_TES_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_VS_LAYER_VIEWPORT:
|
||||
return 1;
|
||||
case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT:
|
||||
return 1;
|
||||
|
|
|
@ -161,7 +161,7 @@ nv30_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
|||
case PIPE_CAP_TEXTURE_BORDER_COLOR_QUIRK:
|
||||
case PIPE_CAP_MAX_TEXTURE_BUFFER_SIZE:
|
||||
case PIPE_CAP_MIXED_FRAMEBUFFER_SIZES:
|
||||
case PIPE_CAP_TGSI_VS_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_VS_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_MAX_TEXTURE_GATHER_COMPONENTS:
|
||||
case PIPE_CAP_TEXTURE_GATHER_SM5:
|
||||
case PIPE_CAP_FAKE_SW_MSAA:
|
||||
|
@ -229,7 +229,7 @@ nv30_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
|||
case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE:
|
||||
case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE:
|
||||
case PIPE_CAP_TGSI_BALLOT:
|
||||
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_TES_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_CAN_BIND_CONST_BUFFER_AS_VERTEX:
|
||||
case PIPE_CAP_POST_DEPTH_COVERAGE:
|
||||
case PIPE_CAP_BINDLESS_TEXTURE:
|
||||
|
|
|
@ -298,7 +298,7 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
|||
case PIPE_CAP_VERTEX_ELEMENT_SRC_OFFSET_4BYTE_ALIGNED_ONLY:
|
||||
case PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY:
|
||||
case PIPE_CAP_TGSI_TEXCOORD:
|
||||
case PIPE_CAP_TGSI_VS_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_VS_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_TEXTURE_GATHER_SM5:
|
||||
case PIPE_CAP_FAKE_SW_MSAA:
|
||||
case PIPE_CAP_TEXTURE_GATHER_OFFSETS:
|
||||
|
@ -338,7 +338,7 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
|||
case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE:
|
||||
case PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE:
|
||||
case PIPE_CAP_TGSI_BALLOT:
|
||||
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_TES_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_POST_DEPTH_COVERAGE:
|
||||
case PIPE_CAP_BINDLESS_TEXTURE:
|
||||
case PIPE_CAP_NIR_SAMPLERS_AS_DEREF:
|
||||
|
|
|
@ -330,8 +330,8 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
|||
case PIPE_CAP_TGSI_ATOMFADD:
|
||||
return class_3d < GM107_3D_CLASS; /* needs additional lowering */
|
||||
case PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE:
|
||||
case PIPE_CAP_TGSI_VS_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_VS_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_TES_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_POST_DEPTH_COVERAGE:
|
||||
case PIPE_CAP_CONSERVATIVE_RASTER_POST_SNAP_TRIANGLES:
|
||||
case PIPE_CAP_CONSERVATIVE_RASTER_POST_SNAP_POINTS_LINES:
|
||||
|
|
|
@ -299,7 +299,7 @@ static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param)
|
|||
case PIPE_CAP_TEXTURE_MULTISAMPLE:
|
||||
case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT:
|
||||
case PIPE_CAP_TGSI_VS_WINDOW_SPACE_POSITION:
|
||||
case PIPE_CAP_TGSI_VS_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_VS_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_SAMPLE_SHADING:
|
||||
case PIPE_CAP_CLIP_HALFZ:
|
||||
case PIPE_CAP_POLYGON_OFFSET_CLAMP:
|
||||
|
|
|
@ -91,7 +91,7 @@ static int si_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
|||
case PIPE_CAP_VS_INSTANCEID:
|
||||
case PIPE_CAP_COMPUTE:
|
||||
case PIPE_CAP_TEXTURE_BUFFER_OBJECTS:
|
||||
case PIPE_CAP_TGSI_VS_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_VS_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_QUERY_PIPELINE_STATISTICS:
|
||||
case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT:
|
||||
case PIPE_CAP_SAMPLE_SHADING:
|
||||
|
@ -133,7 +133,7 @@ static int si_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
|||
case PIPE_CAP_STREAM_OUTPUT_INTERLEAVE_BUFFERS:
|
||||
case PIPE_CAP_DOUBLES:
|
||||
case PIPE_CAP_TGSI_TEX_TXF_LZ:
|
||||
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_TES_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_BINDLESS_TEXTURE:
|
||||
case PIPE_CAP_QUERY_TIMESTAMP:
|
||||
case PIPE_CAP_QUERY_TIME_ELAPSED:
|
||||
|
|
|
@ -202,7 +202,7 @@ softpipe_get_param(struct pipe_screen *screen, enum pipe_cap param)
|
|||
case PIPE_CAP_USER_VERTEX_BUFFERS:
|
||||
case PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME:
|
||||
case PIPE_CAP_STREAM_OUTPUT_INTERLEAVE_BUFFERS:
|
||||
case PIPE_CAP_TGSI_VS_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_VS_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_DOUBLES:
|
||||
case PIPE_CAP_INT64:
|
||||
case PIPE_CAP_INT64_DIVMOD:
|
||||
|
|
|
@ -224,7 +224,7 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap param)
|
|||
case PIPE_CAP_MIXED_FRAMEBUFFER_SIZES:
|
||||
case PIPE_CAP_MIXED_COLOR_DEPTH_BITS:
|
||||
return 1;
|
||||
case PIPE_CAP_TGSI_VS_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_VS_LAYER_VIEWPORT:
|
||||
return 0;
|
||||
case PIPE_CAP_MAX_GEOMETRY_OUTPUT_VERTICES:
|
||||
return vscreen->caps.caps.v2.max_geom_output_vertices;
|
||||
|
|
|
@ -638,8 +638,8 @@ zink_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
|||
case PIPE_CAP_SAMPLER_VIEW_TARGET:
|
||||
return 1;
|
||||
|
||||
case PIPE_CAP_TGSI_VS_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_VS_LAYER_VIEWPORT:
|
||||
case PIPE_CAP_TES_LAYER_VIEWPORT:
|
||||
return screen->info.have_EXT_shader_viewport_index_layer ||
|
||||
(screen->spirv_version >= SPIRV_VERSION(1, 5) &&
|
||||
screen->info.feats12.shaderOutputLayer &&
|
||||
|
|
|
@ -814,7 +814,7 @@ enum pipe_cap
|
|||
PIPE_CAP_MAX_VIEWPORTS,
|
||||
PIPE_CAP_ENDIANNESS,
|
||||
PIPE_CAP_MIXED_FRAMEBUFFER_SIZES,
|
||||
PIPE_CAP_TGSI_VS_LAYER_VIEWPORT,
|
||||
PIPE_CAP_VS_LAYER_VIEWPORT,
|
||||
PIPE_CAP_MAX_GEOMETRY_OUTPUT_VERTICES,
|
||||
PIPE_CAP_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
|
||||
PIPE_CAP_MAX_TEXTURE_GATHER_COMPONENTS,
|
||||
|
@ -899,7 +899,7 @@ enum pipe_cap
|
|||
PIPE_CAP_POLYGON_MODE_FILL_RECTANGLE,
|
||||
PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE,
|
||||
PIPE_CAP_TGSI_BALLOT,
|
||||
PIPE_CAP_TGSI_TES_LAYER_VIEWPORT,
|
||||
PIPE_CAP_TES_LAYER_VIEWPORT,
|
||||
PIPE_CAP_CAN_BIND_CONST_BUFFER_AS_VERTEX,
|
||||
PIPE_CAP_ALLOW_MAPPED_BUFFERS_DURING_EXECUTION,
|
||||
PIPE_CAP_POST_DEPTH_COVERAGE,
|
||||
|
|
|
@ -209,7 +209,7 @@ set_vertex_shader_layered(struct st_context *st)
|
|||
|
||||
if (!st->clear.vs_layered) {
|
||||
bool vs_layer =
|
||||
st->screen->get_param(st->screen, PIPE_CAP_TGSI_VS_LAYER_VIEWPORT);
|
||||
st->screen->get_param(st->screen, PIPE_CAP_VS_LAYER_VIEWPORT);
|
||||
if (vs_layer) {
|
||||
st->clear.vs_layered =
|
||||
use_nir ? make_nir_clear_vertex_shader(st, true)
|
||||
|
|
|
@ -1186,7 +1186,7 @@ void st_init_extensions(struct pipe_screen *screen,
|
|||
/* This extension needs full OpenGL 3.2, but we don't know if that's
|
||||
* supported at this point. Only check the GLSL version. */
|
||||
if (GLSLVersion >= 150 &&
|
||||
screen->get_param(screen, PIPE_CAP_TGSI_VS_LAYER_VIEWPORT)) {
|
||||
screen->get_param(screen, PIPE_CAP_VS_LAYER_VIEWPORT)) {
|
||||
extensions->AMD_vertex_shader_layer = GL_TRUE;
|
||||
}
|
||||
|
||||
|
@ -1552,7 +1552,7 @@ void st_init_extensions(struct pipe_screen *screen,
|
|||
|
||||
if (extensions->AMD_vertex_shader_layer &&
|
||||
extensions->AMD_vertex_shader_viewport_index &&
|
||||
screen->get_param(screen, PIPE_CAP_TGSI_TES_LAYER_VIEWPORT))
|
||||
screen->get_param(screen, PIPE_CAP_TES_LAYER_VIEWPORT))
|
||||
extensions->ARB_shader_viewport_layer_array = GL_TRUE;
|
||||
|
||||
/* ARB_framebuffer_no_attachments */
|
||||
|
|
|
@ -668,7 +668,7 @@ st_init_pbo_helpers(struct st_context *st)
|
|||
screen->get_param(screen, PIPE_CAP_BUFFER_SAMPLER_VIEW_RGBA_ONLY);
|
||||
|
||||
if (screen->get_param(screen, PIPE_CAP_VS_INSTANCEID)) {
|
||||
if (screen->get_param(screen, PIPE_CAP_TGSI_VS_LAYER_VIEWPORT)) {
|
||||
if (screen->get_param(screen, PIPE_CAP_VS_LAYER_VIEWPORT)) {
|
||||
st->pbo.layers = true;
|
||||
} else if (screen->get_param(screen, PIPE_CAP_MAX_GEOMETRY_OUTPUT_VERTICES) >= 3 &&
|
||||
screen->get_shader_param(screen, PIPE_SHADER_GEOMETRY,
|
||||
|
|
Loading…
Reference in New Issue