From 8bee5d3c11a8a60cb28fd7c185d57868eb39456a Mon Sep 17 00:00:00 2001 From: Jose Maria Casanova Crespo Date: Tue, 31 Aug 2021 18:43:47 +0200 Subject: [PATCH] v3d: Enable PIPE_CAP_PRIMITIVE_RESTART MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We disabled PIPE_CAP_PRIMITIVE_RESTART on ffc4d82438d98 ("v3d: Disable PIPE_CAP_PRIMITIVE_RESTART") because the HW can only support PIPE_CAP_PRIMITIVE_RESTART_FIXED_INDEX subset. But the introduction of PIPE_CAP_EMULATE_NONFIXED_PRIMITIVE_RESTART allows us to support these nonfixed primitive restarts so we can now re-enable NV_primitive_restart for OpenGL extensions. Acked-By: Mike Blumenkrantz Reviewed-by: Alejandro PiƱeiro Part-of: --- docs/features.txt | 2 +- src/gallium/drivers/v3d/v3d_screen.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/features.txt b/docs/features.txt index 30508497527..5e2cf45f2ed 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -74,7 +74,7 @@ GL 3.1, GLSL 1.40 --- all DONE: freedreno, i965, nv50, nvc0, r600, radeonsi, llv Forward compatible context support/deprecations DONE GL_ARB_draw_instanced (Instanced drawing) DONE (v3d) GL_ARB_copy_buffer (Buffer copying) DONE (v3d, vc4, lima) - GL_NV_primitive_restart (Primitive restart) DONE () + GL_NV_primitive_restart (Primitive restart) DONE (v3d) 16 vertex texture image units DONE () GL_ARB_texture_buffer_object (Texture buffer objs) DONE () GL_ARB_texture_rectangle (Rectangular textures) DONE (v3d, vc4, lima) diff --git a/src/gallium/drivers/v3d/v3d_screen.c b/src/gallium/drivers/v3d/v3d_screen.c index f36ff77484a..3dbf121dc21 100644 --- a/src/gallium/drivers/v3d/v3d_screen.c +++ b/src/gallium/drivers/v3d/v3d_screen.c @@ -123,6 +123,8 @@ v3d_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_FRAGMENT_SHADER_DERIVATIVES: case PIPE_CAP_VERTEX_SHADER_SATURATE: case PIPE_CAP_PRIMITIVE_RESTART_FIXED_INDEX: + case PIPE_CAP_EMULATE_NONFIXED_PRIMITIVE_RESTART: + case PIPE_CAP_PRIMITIVE_RESTART: case PIPE_CAP_OCCLUSION_QUERY: case PIPE_CAP_POINT_SPRITE: case PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME: