Mesa (staging/20.3): v3dv/cmd_buffer: missing (uint8_t *) casting when calling memcmp
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Nov 23 17:27:25 UTC 2020
Module: Mesa
Branch: staging/20.3
Commit: 8464a6e3d7bf37f496718e375b535eab8ff3eb53
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8464a6e3d7bf37f496718e375b535eab8ff3eb53
Author: Alejandro Piñeiro <apinheiro at igalia.com>
Date: Thu Nov 19 23:45:57 2020 +0100
v3dv/cmd_buffer: missing (uint8_t *) casting when calling memcmp
Caused to return early wrongly on CmdPushConstants with some tests
using several calls to that method. As we are here we are also
replacing the (void *) casting at the memcpy below.
Fixes: e1c8041cde64 ("v3dv: try harder to skip emission of redundant state")
Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7718>
(cherry picked from commit ce5c23eb009b1453347e87099a4dfc72d4c8c793)
---
.pick_status.json | 2 +-
src/broadcom/vulkan/v3dv_cmd_buffer.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/.pick_status.json b/.pick_status.json
index 59096b26c8e..c62c3a1c840 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -103,7 +103,7 @@
"description": "v3dv/cmd_buffer: missing (uint8_t *) casting when calling memcmp",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"master_sha": null,
"because_sha": "e1c8041cde64ff72dab504ee0e31c2b5224145d6"
},
diff --git a/src/broadcom/vulkan/v3dv_cmd_buffer.c b/src/broadcom/vulkan/v3dv_cmd_buffer.c
index 1f12c73bab5..aee1fad1328 100644
--- a/src/broadcom/vulkan/v3dv_cmd_buffer.c
+++ b/src/broadcom/vulkan/v3dv_cmd_buffer.c
@@ -4732,10 +4732,10 @@ v3dv_CmdPushConstants(VkCommandBuffer commandBuffer,
{
V3DV_FROM_HANDLE(v3dv_cmd_buffer, cmd_buffer, commandBuffer);
- if (!memcmp(cmd_buffer->push_constants_data + offset, pValues, size))
+ if (!memcmp((uint8_t *) cmd_buffer->push_constants_data + offset, pValues, size))
return;
- memcpy((void*) cmd_buffer->push_constants_data + offset, pValues, size);
+ memcpy((uint8_t *) cmd_buffer->push_constants_data + offset, pValues, size);
cmd_buffer->state.dirty |= V3DV_CMD_DIRTY_PUSH_CONSTANTS;
}
More information about the mesa-commit
mailing list