Mesa (main): v3d: enable ARB_texture_buffer_object and ARB_texture_buffer_range

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Dec 3 16:10:52 UTC 2021


Module: Mesa
Branch: main
Commit: 7f1525f086f9bbc0cea5c8c69cd32fd59f921333
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7f1525f086f9bbc0cea5c8c69cd32fd59f921333

Author: Alejandro Piñeiro <apinheiro at igalia.com>
Date:   Mon Sep 16 14:23:07 2019 +0200

v3d: enable ARB_texture_buffer_object and ARB_texture_buffer_range

Through their specific PIPE_CAP.

v2 (Iago)
 - Add comment in test failure

Signed-off-by: Alejandro Piñeiro <apinheiro at igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez at igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13409>

---

 docs/features.txt                    | 4 ++--
 src/broadcom/ci/v3d-rpi4-fails.txt   | 4 +++-
 src/gallium/drivers/v3d/v3d_screen.c | 6 ++++++
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/docs/features.txt b/docs/features.txt
index 458c2d79815..06504ee9095 100644
--- a/docs/features.txt
+++ b/docs/features.txt
@@ -76,7 +76,7 @@ GL 3.1, GLSL 1.40 --- all DONE: freedreno, i965, nv50, nvc0, r600, radeonsi, llv
   GL_ARB_copy_buffer (Buffer copying)                   DONE (v3d, vc4, lima)
   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_buffer_object (Texture buffer objs)    DONE (v3d)
   GL_ARB_texture_rectangle (Rectangular textures)       DONE (v3d, vc4, lima)
   GL_ARB_uniform_buffer_object (Uniform buffer objs)    DONE (v3d)
   GL_EXT_texture_snorm (Signed normalized textures)     DONE (v3d)
@@ -185,7 +185,7 @@ GL 4.3, GLSL 4.30 -- all DONE: i965/gen8+, nvc0, r600, radeonsi, llvmpipe, virgl
   GL_ARB_shader_image_size                              DONE (freedreno/a5xx+, i965, softpipe, v3d, panfrost)
   GL_ARB_shader_storage_buffer_object                   DONE (freedreno/a5xx+, i965, softpipe, v3d, panfrost)
   GL_ARB_stencil_texturing                              DONE (freedreno, i965/hsw+, nv50, softpipe, swr, v3d, panfrost, d3d12)
-  GL_ARB_texture_buffer_range                           DONE (freedreno, nv50, i965, softpipe, swr, d3d12)
+  GL_ARB_texture_buffer_range                           DONE (freedreno, nv50, i965, softpipe, swr, v3d, d3d12)
   GL_ARB_texture_query_levels                           DONE (all drivers that support GLSL 1.30)
   GL_ARB_texture_storage_multisample                    DONE (all drivers that support GL_ARB_texture_multisample)
   GL_ARB_texture_view                                   DONE (freedreno, i965, nv50, softpipe, swr)
diff --git a/src/broadcom/ci/v3d-rpi4-fails.txt b/src/broadcom/ci/v3d-rpi4-fails.txt
index 72ed78abd81..8c7d5af1520 100644
--- a/src/broadcom/ci/v3d-rpi4-fails.txt
+++ b/src/broadcom/ci/v3d-rpi4-fails.txt
@@ -106,7 +106,6 @@ spec at arb_color_buffer_float@gl_rgba32f-render-fog,Fail
 spec at arb_color_buffer_float@gl_rgba32f-render-sanity,Fail
 spec at arb_color_buffer_float@gl_rgba32f-render-sanity-fog,Fail
 spec at arb_compute_shader@minmax,Fail
-spec at arb_copy_buffer@targets,Fail
 spec at arb_depth_buffer_float@fbo-generatemipmap-formats,Fail
 spec at arb_depth_buffer_float@fbo-generatemipmap-formats at GL_DEPTH_COMPONENT32F,Fail
 spec at arb_depth_buffer_float@fbo-generatemipmap-formats at GL_DEPTH_COMPONENT32F NPOT,Fail
@@ -327,3 +326,6 @@ spec at nv_read_depth@read_depth_gles3,Fail
 spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3,Crash
 spec at oes_point_sprite@arb_point_sprite-checkerboard_gles1,Fail
 spec at oes_shader_io_blocks@compiler at layout-location-aliasing.vert,Fail
+
+# Seems a bug in the test; it works if overriding GL version to 2.1
+spec at arb_texture_buffer_range@ranges-2 compat,Fail
diff --git a/src/gallium/drivers/v3d/v3d_screen.c b/src/gallium/drivers/v3d/v3d_screen.c
index 728c9057871..fcff5a6a541 100644
--- a/src/gallium/drivers/v3d/v3d_screen.c
+++ b/src/gallium/drivers/v3d/v3d_screen.c
@@ -282,6 +282,12 @@ v3d_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
         case PIPE_CAP_SUPPORTED_PRIM_MODES_WITH_RESTART:
                 return screen->prim_types;
 
+        case PIPE_CAP_TEXTURE_BUFFER_OBJECTS:
+                return true;
+
+        case PIPE_CAP_TEXTURE_BUFFER_OFFSET_ALIGNMENT:
+                return 256;
+
         case PIPE_CAP_IMAGE_STORE_FORMATTED:
                 return false;
 



More information about the mesa-commit mailing list