Module: Mesa
Branch: master
Commit: 739486de2f5b7854e5cc9f47888d9d9059fc19d4
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=739486de2f5b7854e5cc9f47888d9d9059fc19d4

Author: Eric Anholt <[email protected]>
Date:   Mon Mar 15 20:28:11 2021 -0700

freedreno/a5xx: Fix the max texture buffer size.

The GLES minmax is 65536.  The blob vulkan exposes 65536 on both a5xx and
a6xx, but try just doing the same as we do for a6xx.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9617>

---

 src/freedreno/ci/deqp-freedreno-a530-fails.txt   | 14 --------------
 src/gallium/drivers/freedreno/freedreno_screen.c |  8 ++++++--
 2 files changed, 6 insertions(+), 16 deletions(-)

diff --git a/src/freedreno/ci/deqp-freedreno-a530-fails.txt 
b/src/freedreno/ci/deqp-freedreno-a530-fails.txt
index baa8b6fe709..adc99a8239f 100644
--- a/src/freedreno/ci/deqp-freedreno-a530-fails.txt
+++ b/src/freedreno/ci/deqp-freedreno-a530-fails.txt
@@ -125,20 +125,6 @@ 
dEQP-GLES31.functional.texture.border_clamp.sampler.uint_stencil,Fail
 dEQP-GLES31.functional.texture.border_clamp.sampler.unorm_depth,Fail
 dEQP-GLES31.functional.texture.border_clamp.unused_channels.r16i,Fail
 dEQP-GLES31.functional.texture.border_clamp.unused_channels.r8,Fail
-dEQP-GLES31.functional.texture.texture_buffer.modify.bufferdata.buffer_size_131071,Fail
-dEQP-GLES31.functional.texture.texture_buffer.modify.bufferdata.range_size_98304,Fail
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_write.buffer_size_131071,Fail
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_write.range_size_98304,Fail
-dEQP-GLES31.functional.texture.texture_buffer.render.as_fragment_texture.buffer_size_131071,Fail
-dEQP-GLES31.functional.texture.texture_buffer.render.as_fragment_texture.range_size_98304,Fail
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_fragment_texture.buffer_size_131071,Fail
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_fragment_texture.range_size_98304,Fail
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture_as_fragment_texture.buffer_size_131071,Fail
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture_as_fragment_texture.range_size_98304,Fail
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture_as_fragment_texture.buffer_size_131071,Fail
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture_as_fragment_texture.range_size_98304,Fail
-dEQP-GLES31.functional.texture.texture_buffer.state_query.max_texture_buffer_size_getfloat,Fail
-dEQP-GLES31.functional.texture.texture_buffer.state_query.max_texture_buffer_size_getinteger,Fail
 dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_corner,Fail
 dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_center,Fail
 dEQP-GLES3.functional.fbo.blit.depth_stencil.depth24_stencil8_scale,Fail
diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c 
b/src/gallium/drivers/freedreno/freedreno_screen.c
index d00e1e42988..533df75292a 100644
--- a/src/gallium/drivers/freedreno/freedreno_screen.c
+++ b/src/gallium/drivers/freedreno/freedreno_screen.c
@@ -285,8 +285,12 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum 
pipe_cap param)
                 */
                if (is_a3xx(screen)) return 8192;
                if (is_a4xx(screen)) return 16384;
-               if (is_a5xx(screen)) return 16384;
-               if (is_a6xx(screen)) return 1 << 27;
+
+               /* Note that the Vulkan blob on a540 and 640 report a
+                * maxTexelBufferElements of just 65536 (the GLES3.2 and Vulkan
+                * minimum).
+                */
+               if (is_a5xx(screen) || is_a6xx(screen)) return 1 << 27;
                return 0;
 
        case PIPE_CAP_TEXTURE_FLOAT_LINEAR:

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to