Signed-off-by: Alex Smith <asm...@feralinteractive.com>
---
 src/amd/vulkan/radv_formats.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/amd/vulkan/radv_formats.c b/src/amd/vulkan/radv_formats.c
index 88305abd04..5c79ea7406 100644
--- a/src/amd/vulkan/radv_formats.c
+++ b/src/amd/vulkan/radv_formats.c
@@ -961,6 +961,12 @@ bool radv_format_pack_clear_color(VkFormat format,
                clear_vals[1] = ((uint16_t)util_iround(CLAMP(value->float32[2], 
0.0f, 1.0f) * 0xffff)) & 0xffff;
                clear_vals[1] |= 
((uint16_t)util_iround(CLAMP(value->float32[3], 0.0f, 1.0f) * 0xffff)) << 16;
                break;
+       case VK_FORMAT_R16G16B16A16_SNORM:
+               clear_vals[0] = ((uint16_t)util_iround(CLAMP(value->float32[0], 
-1.0f, 1.0f) * 0x7fff)) & 0xffff;
+               clear_vals[0] |= 
((uint16_t)util_iround(CLAMP(value->float32[1], -1.0f, 1.0f) * 0x7fff)) << 16;
+               clear_vals[1] = ((uint16_t)util_iround(CLAMP(value->float32[2], 
-1.0f, 1.0f) * 0x7fff)) & 0xffff;
+               clear_vals[1] |= 
((uint16_t)util_iround(CLAMP(value->float32[3], -1.0f, 1.0f) * 0x7fff)) << 16;
+               break;
        case VK_FORMAT_A2B10G10R10_UNORM_PACK32:
                clear_vals[0] = ((uint16_t)util_iround(CLAMP(value->float32[0], 
0.0f, 1.0f) * 0x3ff)) & 0x3ff;
                clear_vals[0] |= 
(((uint16_t)util_iround(CLAMP(value->float32[1], 0.0f, 1.0f) * 0x3ff)) & 0x3ff) 
<< 10;
-- 
2.13.6

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to