Mesa (main): radv: remove unecessary radv_finishme() for invalid color formats
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Aug 27 07:46:33 UTC 2021
Module: Mesa
Branch: main
Commit: d90a8c79dff0b3149956e46785f314685a701a49
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d90a8c79dff0b3149956e46785f314685a701a49
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Thu Aug 26 11:00:33 2021 +0200
radv: remove unecessary radv_finishme() for invalid color formats
Something really bad happen (likely driver bug) if this is triggered.
Replace with some assertions to catch an eventual issue in debug build.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12556>
---
src/amd/vulkan/radv_device.c | 4 ++--
src/amd/vulkan/radv_meta_clear.c | 11 ++---------
src/amd/vulkan/radv_private.h | 13 -------------
src/amd/vulkan/radv_util.c | 12 ------------
4 files changed, 4 insertions(+), 36 deletions(-)
diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
index 63baee59f0b..a4366192cbd 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -6705,8 +6705,8 @@ radv_initialise_color_surface(struct radv_device *device, struct radv_color_buff
ntype = radv_translate_color_numformat(iview->vk_format, desc,
vk_format_get_first_non_void_channel(iview->vk_format));
format = radv_translate_colorformat(iview->vk_format);
- if (format == V_028C70_COLOR_INVALID || ntype == ~0u)
- radv_finishme("Illegal color\n");
+ assert(format != V_028C70_COLOR_INVALID);
+
swap = radv_translate_colorswap(iview->vk_format, false);
endian = radv_colorformat_endian_swap(format);
diff --git a/src/amd/vulkan/radv_meta_clear.c b/src/amd/vulkan/radv_meta_clear.c
index 1b320ad61d8..341e8dea416 100644
--- a/src/amd/vulkan/radv_meta_clear.c
+++ b/src/amd/vulkan/radv_meta_clear.c
@@ -399,11 +399,7 @@ emit_color_clear(struct radv_cmd_buffer *cmd_buffer, const VkClearAttachment *cl
samples_log2 = ffs(samples) - 1;
fs_key = radv_format_meta_fs_key(device, format);
-
- if (fs_key == -1) {
- radv_finishme("color clears incomplete");
- return;
- }
+ assert(fs_key != -1);
if (device->meta_state.clear[samples_log2].render_pass[fs_key] == VK_NULL_HANDLE) {
VkResult ret =
@@ -426,10 +422,7 @@ emit_color_clear(struct radv_cmd_buffer *cmd_buffer, const VkClearAttachment *cl
}
pipeline = device->meta_state.clear[samples_log2].color_pipelines[fs_key];
- if (!pipeline) {
- radv_finishme("color clears incomplete");
- return;
- }
+
assert(samples_log2 < ARRAY_SIZE(device->meta_state.clear));
assert(pipeline);
assert(clear_att->aspectMask == VK_IMAGE_ASPECT_COLOR_BIT);
diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h
index adeea405b0d..bf969b3b949 100644
--- a/src/amd/vulkan/radv_private.h
+++ b/src/amd/vulkan/radv_private.h
@@ -216,24 +216,11 @@ VkResult __vk_errorf(struct radv_instance *instance, const void *object,
__vk_errorf(instance, NULL, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, error, __FILE__, __LINE__, \
format, ##__VA_ARGS__);
-void __radv_finishme(const char *file, int line, const char *format, ...) radv_printflike(3, 4);
void radv_loge(const char *format, ...) radv_printflike(1, 2);
void radv_loge_v(const char *format, va_list va);
void radv_logi(const char *format, ...) radv_printflike(1, 2);
void radv_logi_v(const char *format, va_list va);
-/**
- * Print a FINISHME message, including its source location.
- */
-#define radv_finishme(format, ...) \
- do { \
- static bool reported = false; \
- if (!reported) { \
- __radv_finishme(__FILE__, __LINE__, format, ##__VA_ARGS__); \
- reported = true; \
- } \
- } while (0)
-
/* A non-fatal assert. Useful for debugging. */
#ifdef NDEBUG
#define radv_assert(x) \
diff --git a/src/amd/vulkan/radv_util.c b/src/amd/vulkan/radv_util.c
index 153f65dd90f..ade0ffeaaa6 100644
--- a/src/amd/vulkan/radv_util.c
+++ b/src/amd/vulkan/radv_util.c
@@ -72,18 +72,6 @@ radv_logi_v(const char *format, va_list va)
fprintf(stderr, "\n");
}
-void radv_printflike(3, 4) __radv_finishme(const char *file, int line, const char *format, ...)
-{
- va_list ap;
- char buffer[256];
-
- va_start(ap, format);
- vsnprintf(buffer, sizeof(buffer), format, ap);
- va_end(ap);
-
- fprintf(stderr, "%s:%d: FINISHME: %s\n", file, line, buffer);
-}
-
VkResult
__vk_errorv(struct radv_instance *instance, const void *object, VkDebugReportObjectTypeEXT type,
VkResult error, const char *file, int line, const char *format, va_list ap)
More information about the mesa-commit
mailing list