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 <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Dave Airlie 2017-02-27 12:15:03 +10:00
parent ec623f77eb
commit 1121ce4525

View file

@ -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;