pvr: Increase maxVertexOutputComponents limit for zink

Zink reserves up to 60 varyings components for streamout which
requires a maxVertexOutputComponents of at least 128 to avoid the
exposed value for GL_MAX_VARYING_FLOATS been below the minimum value
for GLES3.0

Fix for the follow gles cts tests:
dEQP-GLES3.functional.state_query.integers.max_varying_components_getfloat
dEQP-GLES3.functional.state_query.integers.max_varying_components_getinteger64
dEQP-GLES3.functional.state_query.integers.max_varying_vectors_getfloat
dEQP-GLES3.functional.state_query.integers.max_varying_vectors_getinteger64

Backport-to: 26.0

Signed-off-by: Nick Hamilton <nick.hamilton@imgtec.com>
This commit is contained in:
Nick Hamilton 2026-04-20 15:44:46 +01:00
parent 3d7d2115f8
commit a336740660

View file

@ -599,7 +599,17 @@ static bool pvr_physical_device_get_properties(
.maxVertexInputBindings = 16U,
.maxVertexInputAttributeOffset = 2048U - 1U,
.maxVertexInputBindingStride = 2048U,
.maxVertexOutputComponents = 64U,
/*
* This should probably come from pvr_get_max_user_vertex_output_components
* however Zink reserves 64 of these for streamout and gles3
* requires a min value of 64 meaning there is an implied minimum of 128.
* On cores where this value would be 64 we can get away with increasing
* this value to 128 as long as the extra 64 are only used for streamout
* which will always be the case as we don't support geometry or
* tesselation shaders on such cores.
*/
.maxVertexOutputComponents = 128U,
/* Tessellation Limits */
/* Requires tessellationShader */