summaryrefslogtreecommitdiffstats
path: root/src/amd/vulkan/radv_formats.c
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2017-02-27 12:15:03 +1000
committerDave Airlie <[email protected]>2017-02-28 06:11:50 +1000
commit1121ce4525d03e35ab2ab95385ad99d112c17330 (patch)
tree1ea00f49ca004d282d830047f18d99d34b709ce4 /src/amd/vulkan/radv_formats.c
parentec623f77ebfd4ab1effeef82504db406df321659 (diff)
radv/formats: add fast clear for 8-bit signed ints.
These formats are used by some CTS tests, may as well fill them in. Reviewed-by: Bas Nieuwenhuizen <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/amd/vulkan/radv_formats.c')
-rw-r--r--src/amd/vulkan/radv_formats.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_formats.c b/src/amd/vulkan/radv_formats.c
index 30a20db7dd0..7483b8dedfc 100644
--- a/src/amd/vulkan/radv_formats.c
+++ b/src/amd/vulkan/radv_formats.c
@@ -864,6 +864,10 @@ bool radv_format_pack_clear_color(VkFormat format,
clear_vals[0] = value->uint32[0] & 0xff;
clear_vals[1] = 0;
break;
+ case VK_FORMAT_R8_SINT:
+ clear_vals[0] = value->int32[0] & 0xff;
+ clear_vals[1] = 0;
+ break;
case VK_FORMAT_R16_UINT:
clear_vals[0] = value->uint32[0] & 0xffff;
clear_vals[1] = 0;
@@ -873,6 +877,11 @@ bool radv_format_pack_clear_color(VkFormat format,
clear_vals[0] |= (value->uint32[1] & 0xff) << 8;
clear_vals[1] = 0;
break;
+ case VK_FORMAT_R8G8_SINT:
+ clear_vals[0] = value->int32[0] & 0xff;
+ clear_vals[0] |= (value->int32[1] & 0xff) << 8;
+ clear_vals[1] = 0;
+ break;
case VK_FORMAT_R8G8B8A8_UINT:
clear_vals[0] = value->uint32[0] & 0xff;
clear_vals[0] |= (value->uint32[1] & 0xff) << 8;
@@ -880,6 +889,13 @@ bool radv_format_pack_clear_color(VkFormat format,
clear_vals[0] |= (value->uint32[3] & 0xff) << 24;
clear_vals[1] = 0;
break;
+ case VK_FORMAT_R8G8B8A8_SINT:
+ clear_vals[0] = value->int32[0] & 0xff;
+ clear_vals[0] |= (value->int32[1] & 0xff) << 8;
+ clear_vals[0] |= (value->int32[2] & 0xff) << 16;
+ clear_vals[0] |= (value->int32[3] & 0xff) << 24;
+ clear_vals[1] = 0;
+ break;
case VK_FORMAT_A8B8G8R8_UINT_PACK32:
clear_vals[0] = value->uint32[0] & 0xff;
clear_vals[0] |= (value->uint32[1] & 0xff) << 8;