etnaviv: Enable ARB_framebuffer_no_attachments

There is not much needed to pass the supported tests.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31578>
This commit is contained in:
Christian Gmeiner 2024-10-09 20:11:44 +02:00 committed by Marge Bot
parent 3dbbc24cb3
commit fad599a619
3 changed files with 8 additions and 2 deletions

View file

@ -176,7 +176,7 @@ GL 4.3, GLSL 4.30 -- all DONE: freedreno/a6xx, nvc0, r600, radeonsi, llvmpipe, v
GL_KHR_debug DONE (all drivers)
GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
GL_ARB_fragment_layer_viewport DONE (freedreno/a6xx, nv50, softpipe, crocus/gen6+)
GL_ARB_framebuffer_no_attachments DONE (freedreno, softpipe, v3d, crocus/gen7+)
GL_ARB_framebuffer_no_attachments DONE (freedreno, softpipe, v3d, crocus/gen7+, etnaviv)
GL_ARB_internalformat_query2 DONE (all drivers)
GL_ARB_invalidate_subdata DONE (all drivers)
GL_ARB_multi_draw_indirect DONE (freedreno, softpipe, v3d, crocus/gen7+)
@ -246,7 +246,7 @@ GLES3.1, GLSL ES 3.1 -- all DONE: freedreno/a5xx+, nvc0, r600, radeonsi, virgl,
GL_ARB_compute_shader DONE (freedreno/a5xx+, crocus/gen7+)
GL_ARB_draw_indirect DONE (freedreno, crocus/gen7+)
GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
GL_ARB_framebuffer_no_attachments DONE (freedreno, softpipe, crocus/gen7+)
GL_ARB_framebuffer_no_attachments DONE (freedreno, softpipe, crocus/gen7+, etnaviv)
GL_ARB_program_interface_query DONE (all drivers)
GL_ARB_shader_atomic_counters DONE (freedreno/a5xx+, crocus/gen7+)
GL_ARB_shader_image_load_store DONE (freedreno/a5xx+, crocus/gen7+)

View file

@ -26,3 +26,4 @@ GL_ARB_draw_buffers_blend on etnaviv/HALTI5+
VK_KHR_fragment_shading_rate on NVK
GL_ARB_draw_indirect on etnaviv/HALTI5+
VK_EXT_depth_clamp_zero_one on NVK
GL_ARB_framebuffer_no_attachments on etnaviv

View file

@ -168,6 +168,7 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
case PIPE_CAP_MIXED_FRAMEBUFFER_SIZES:
case PIPE_CAP_STRING_MARKER:
case PIPE_CAP_FRONTEND_NOOP:
case PIPE_CAP_FRAMEBUFFER_NO_ATTACHMENT:
return 1;
case PIPE_CAP_VERTEX_INPUT_ALIGNMENT:
return PIPE_VERTEX_INPUT_ALIGNMENT_4BYTE;
@ -615,6 +616,10 @@ etna_screen_is_format_supported(struct pipe_screen *pscreen,
if (MAX2(1, sample_count) != MAX2(1, storage_sample_count))
return false;
/* For ARB_framebuffer_no_attachments - Short-circuit the rest of the logic. */
if (format == PIPE_FORMAT_NONE && usage & PIPE_BIND_RENDER_TARGET)
return true;
if (usage & PIPE_BIND_RENDER_TARGET) {
if (gpu_supports_render_format(screen, format, sample_count))
allowed |= PIPE_BIND_RENDER_TARGET;