mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-02 12:18:09 +02:00
etnaviv: Add support for ARB_vertex_type_2_10_10_10_rev
This extension seems to be supported on GC3000 (HALTI2) and later hardware. While no explicit feature bit documents this capability, testing confirms that the required vertex formats work correctly on these GPUs. This patch adds the missing B10G10R10A2 vertex format variants (UNORM, SNORM, USCALED, SSCALED), gates support behind the HALTI2 feature check, and updates features.txt to reflect the new capability. All relevant piglit tests pass. Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38446>
This commit is contained in:
parent
401b2066b0
commit
adf881cd3e
3 changed files with 17 additions and 1 deletions
|
|
@ -108,7 +108,7 @@ GL 3.3, GLSL 3.30 --- all DONE: freedreno, nv50, nvc0, r600, radeonsi, llvmpipe,
|
|||
GL_ARB_texture_swizzle DONE (v3d, vc4, panfrost, lima, etnaviv/HALTI0)
|
||||
GL_ARB_timer_query DONE (panfrost, v3d)
|
||||
GL_ARB_instanced_arrays DONE (etnaviv/HALTI2, v3d, panfrost)
|
||||
GL_ARB_vertex_type_2_10_10_10_rev DONE (v3d, panfrost)
|
||||
GL_ARB_vertex_type_2_10_10_10_rev DONE (v3d, panfrost, etnaviv/HALTI2)
|
||||
|
||||
|
||||
GL 4.0, GLSL 4.00 --- all DONE: freedreno/a6xx, nvc0, r600, radeonsi, llvmpipe, virgl, zink, d3d12, iris, crocus/gen7+, asahi
|
||||
|
|
|
|||
|
|
@ -168,6 +168,11 @@ static struct etna_format formats[PIPE_FORMAT_COUNT] = {
|
|||
V_(R10G10B10A2_USCALED, UNSIGNED_INT_2_10_10_10_REV, NONE),
|
||||
V_(R10G10B10A2_SSCALED, INT_2_10_10_10_REV, NONE),
|
||||
|
||||
V_(B10G10R10A2_UNORM, UNSIGNED_INT_10_10_10_2, NONE),
|
||||
V_(B10G10R10A2_SNORM, INT_10_10_10_2, NONE),
|
||||
V_(B10G10R10A2_USCALED, UNSIGNED_INT_10_10_10_2, NONE),
|
||||
V_(B10G10R10A2_SSCALED, INT_10_10_10_2, NONE),
|
||||
|
||||
_T(X8Z24_UNORM, D24X8, NONE),
|
||||
_T(S8_UINT_Z24_UNORM, D24X8, NONE),
|
||||
|
||||
|
|
|
|||
|
|
@ -505,6 +505,17 @@ gpu_supports_vertex_format(struct etna_screen *screen, enum pipe_format format)
|
|||
if (util_format_is_pure_integer(format))
|
||||
return VIV_FEATURE(screen, ETNA_FEATURE_HALTI2);
|
||||
|
||||
/* ARB_vertex_type_2_10_10_10_rev */
|
||||
if (format == PIPE_FORMAT_R10G10B10A2_UNORM ||
|
||||
format == PIPE_FORMAT_B10G10R10A2_UNORM ||
|
||||
format == PIPE_FORMAT_R10G10B10A2_SNORM ||
|
||||
format == PIPE_FORMAT_B10G10R10A2_SNORM ||
|
||||
format == PIPE_FORMAT_R10G10B10A2_USCALED ||
|
||||
format == PIPE_FORMAT_B10G10R10A2_USCALED ||
|
||||
format == PIPE_FORMAT_R10G10B10A2_SSCALED ||
|
||||
format == PIPE_FORMAT_B10G10R10A2_SSCALED)
|
||||
return VIV_FEATURE(screen, ETNA_FEATURE_HALTI2);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue