panvk: Clamp blend constants before copying them to the cmdbuf state
authorBoris Brezillon <boris.brezillon@collabora.com>
Mon, 6 Sep 2021 13:35:17 +0000 (15:35 +0200)
committerBoris Brezillon <boris.brezillon@collabora.com>
Fri, 10 Sep 2021 09:41:29 +0000 (11:41 +0200)
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12762>

src/panfrost/vulkan/panvk_cmd_buffer.c

index 0b1d072..4b0c990 100644 (file)
@@ -208,8 +208,9 @@ panvk_CmdSetBlendConstants(VkCommandBuffer commandBuffer,
 {
    VK_FROM_HANDLE(panvk_cmd_buffer, cmdbuf, commandBuffer);
 
-   memcpy(cmdbuf->state.blend.constants, blendConstants,
-          sizeof(cmdbuf->state.blend.constants));
+   for (unsigned i = 0; i < 4; i++)
+      cmdbuf->state.blend.constants[i] = CLAMP(blendConstants[i], 0.0f, 1.0f);
+
    cmdbuf->state.dirty |= PANVK_DYNAMIC_BLEND_CONSTANTS;
    cmdbuf->state.fs_rsd = 0;
 }