From: Erik Faye-Lund Date: Thu, 24 Nov 2022 09:39:52 +0000 (+0100) Subject: freedreno: fix PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS for a6xx X-Git-Tag: upstream/23.3.3~16269 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1b892c5a7d7200eefa4b74baa17d7001d13c9792;p=platform%2Fupstream%2Fmesa.git freedreno: fix PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS for a6xx We're reporting 2048 for VkPhysicalDeviceLimits::maxImageArrayLayers on Turnip, so we should be able to use 2048 for OpenGL as well. And that's the minimum required value for OpenGL 4.1 support. According to http://vulkan.gpuinfo.org/, it seems like values of 2048 should be possible for at least as low as some Adreno 4xx GPUs. But since we don't support recent GL versions on those, we this won't make a big difference. So let's leave that up to someone who actually knows what they're doing! Acked-by: Rob Clark Part-of: --- diff --git a/src/freedreno/ci/freedreno-a618-fails.txt b/src/freedreno/ci/freedreno-a618-fails.txt index 50ee80b..51d67de 100644 --- a/src/freedreno/ci/freedreno-a618-fails.txt +++ b/src/freedreno/ci/freedreno-a618-fails.txt @@ -34,8 +34,6 @@ KHR-GL45.texture_cube_map_array.color_depth_attachments,Fail # # Various limits we cannot or do not support: -KHR-GL45.limits.max_array_texture_layers,Fail -KHR-GL45.limits.max_framebuffer_layers,Fail KHR-GL45.limits.max_vertex_streams,Fail # Shader compile fails: diff --git a/src/freedreno/ci/freedreno-a630-fails.txt b/src/freedreno/ci/freedreno-a630-fails.txt index 788498f..69b7a35 100644 --- a/src/freedreno/ci/freedreno-a630-fails.txt +++ b/src/freedreno/ci/freedreno-a630-fails.txt @@ -34,8 +34,6 @@ KHR-GL45.texture_cube_map_array.color_depth_attachments,Fail # # Various limits we cannot or do not support: -KHR-GL45.limits.max_array_texture_layers,Fail -KHR-GL45.limits.max_framebuffer_layers,Fail KHR-GL45.limits.max_vertex_streams,Fail # Shader compile fails: diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c b/src/gallium/drivers/freedreno/freedreno_screen.c index bcbe465..a4394f8 100644 --- a/src/gallium/drivers/freedreno/freedreno_screen.c +++ b/src/gallium/drivers/freedreno/freedreno_screen.c @@ -509,8 +509,9 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return 12; case PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS: - return (is_a3xx(screen) || is_a4xx(screen) || is_a5xx(screen) || - is_a6xx(screen)) + if (is_a6xx(screen)) + return 2048; + return (is_a3xx(screen) || is_a4xx(screen) || is_a5xx(screen)) ? 256 : 0;