Module: Mesa Branch: main Commit: f51d99def693be576cd979b5a7cef7b45ca46e05 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f51d99def693be576cd979b5a7cef7b45ca46e05
Author: Daniel Stone <dani...@collabora.com> Date: Wed Nov 15 11:20:26 2023 +0000 panfrost/ci: Add environment variable to suppress warnings Without it, our test log fills up with warnings that crawling index buffers from the CPU isn't valid. We know that. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26449> --- .gitlab-ci/common/generate-env.sh | 1 + src/panfrost/ci/gitlab-ci.yml | 1 + src/panfrost/vulkan/panvk_device.c | 13 +++++++++---- src/panfrost/vulkan/panvk_private.h | 1 + src/panfrost/vulkan/panvk_vX_cmd_buffer.c | 13 +++++++++---- 5 files changed, 21 insertions(+), 8 deletions(-) diff --git a/.gitlab-ci/common/generate-env.sh b/.gitlab-ci/common/generate-env.sh index aa760e300a1..0e06e402982 100755 --- a/.gitlab-ci/common/generate-env.sh +++ b/.gitlab-ci/common/generate-env.sh @@ -91,6 +91,7 @@ for var in \ NIR_DEBUG \ PAN_I_WANT_A_BROKEN_VULKAN_DRIVER \ PAN_MESA_DEBUG \ + PANVK_DEBUG \ PIGLIT_FRACTION \ PIGLIT_NO_WINDOW \ PIGLIT_OPTIONS \ diff --git a/src/panfrost/ci/gitlab-ci.yml b/src/panfrost/ci/gitlab-ci.yml index cdde45c9cb2..18be6b04b82 100644 --- a/src/panfrost/ci/gitlab-ci.yml +++ b/src/panfrost/ci/gitlab-ci.yml @@ -210,6 +210,7 @@ panfrost-g52-vk:arm64: VK_DRIVER: panfrost MESA_VK_IGNORE_CONFORMANCE_WARNING: 1 PAN_I_WANT_A_BROKEN_VULKAN_DRIVER: 1 + PANVK_DEBUG: no_known_warn DEQP_SUITE: panfrost-g52-vk panfrost-g52-piglit-gles2:arm64: diff --git a/src/panfrost/vulkan/panvk_device.c b/src/panfrost/vulkan/panvk_device.c index 1db43d95b98..a1859918919 100644 --- a/src/panfrost/vulkan/panvk_device.c +++ b/src/panfrost/vulkan/panvk_device.c @@ -112,10 +112,15 @@ panvk_get_device_uuid(void *uuid) } static const struct debug_control panvk_debug_options[] = { - {"startup", PANVK_DEBUG_STARTUP}, {"nir", PANVK_DEBUG_NIR}, - {"trace", PANVK_DEBUG_TRACE}, {"sync", PANVK_DEBUG_SYNC}, - {"afbc", PANVK_DEBUG_AFBC}, {"linear", PANVK_DEBUG_LINEAR}, - {"dump", PANVK_DEBUG_DUMP}, {NULL, 0}}; + {"startup", PANVK_DEBUG_STARTUP}, + {"nir", PANVK_DEBUG_NIR}, + {"trace", PANVK_DEBUG_TRACE}, + {"sync", PANVK_DEBUG_SYNC}, + {"afbc", PANVK_DEBUG_AFBC}, + {"linear", PANVK_DEBUG_LINEAR}, + {"dump", PANVK_DEBUG_DUMP}, + {"no_known_warn", PANVK_DEBUG_NO_KNOWN_WARN}, + {NULL, 0}}; #if defined(VK_USE_PLATFORM_WAYLAND_KHR) #define PANVK_USE_WSI_PLATFORM diff --git a/src/panfrost/vulkan/panvk_private.h b/src/panfrost/vulkan/panvk_private.h index 967bf4dcb00..2f4ef9ddcb6 100644 --- a/src/panfrost/vulkan/panvk_private.h +++ b/src/panfrost/vulkan/panvk_private.h @@ -199,6 +199,7 @@ enum panvk_debug_flags { PANVK_DEBUG_AFBC = 1 << 4, PANVK_DEBUG_LINEAR = 1 << 5, PANVK_DEBUG_DUMP = 1 << 6, + PANVK_DEBUG_NO_KNOWN_WARN = 1 << 7, }; struct panvk_instance { diff --git a/src/panfrost/vulkan/panvk_vX_cmd_buffer.c b/src/panfrost/vulkan/panvk_vX_cmd_buffer.c index 07adda42410..44ed3120d9a 100644 --- a/src/panfrost/vulkan/panvk_vX_cmd_buffer.c +++ b/src/panfrost/vulkan/panvk_vX_cmd_buffer.c @@ -798,14 +798,19 @@ panvk_index_minmax_search(struct panvk_cmd_buffer *cmdbuf, uint32_t start, void *ptr = cmdbuf->state.ib.buffer->bo->ptr.cpu + cmdbuf->state.ib.buffer->bo_offset + cmdbuf->state.ib.offset; - fprintf( - stderr, - "WARNING: Crawling index buffers from the CPU isn't valid in Vulkan\n"); - assert(cmdbuf->state.ib.buffer); assert(cmdbuf->state.ib.buffer->bo); assert(cmdbuf->state.ib.buffer->bo->ptr.cpu); + uint32_t debug_flags = + cmdbuf->device->physical_device->instance->debug_flags; + + if (!(debug_flags & PANVK_DEBUG_NO_KNOWN_WARN)) { + fprintf( + stderr, + "WARNING: Crawling index buffers from the CPU isn't valid in Vulkan\n"); + } + *max = 0; /* TODO: Use panfrost_minmax_cache */