Commit f6f11215 by Nicolas Capens Committed by Nicolas Capens

Implement shaderStorageImageExtendedFormats support

Bug: b/146579770 Tests: dEQP-VK.* Change-Id: Ibd383e01c9fce41faf3c26deb4aefa6bc056cfdb Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46068 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by: 's avatarNicolas Capens <nicolascapens@google.com> Reviewed-by: 's avatarAntonio Maiorano <amaiorano@google.com>
parent 8d75c100
......@@ -370,6 +370,7 @@ Float4 Blitter::readFloat4(Pointer<Byte> element, const State &state)
c = Float4(*Pointer<Byte4>(element));
break;
case VK_FORMAT_R16G16B16A16_SINT:
case VK_FORMAT_R16G16B16A16_SNORM:
c = Float4(*Pointer<Short4>(element));
break;
case VK_FORMAT_R16G16B16A16_UNORM:
......
......@@ -97,7 +97,7 @@ const VkPhysicalDeviceFeatures &PhysicalDevice::getFeatures() const
VK_TRUE, // fragmentStoresAndAtomics
VK_FALSE, // shaderTessellationAndGeometryPointSize
VK_FALSE, // shaderImageGatherExtended
VK_FALSE, // shaderStorageImageExtendedFormats
VK_TRUE, // shaderStorageImageExtendedFormats
VK_FALSE, // shaderStorageImageMultisample
VK_FALSE, // shaderStorageImageReadWithoutFormat
VK_FALSE, // shaderStorageImageWriteWithoutFormat
......@@ -647,9 +647,30 @@ void PhysicalDevice::getFormatProperties(Format format, VkFormatProperties *pFor
case VK_FORMAT_R32G32B32A32_UINT:
case VK_FORMAT_R32G32B32A32_SINT:
case VK_FORMAT_R32G32B32A32_SFLOAT:
case VK_FORMAT_R16G16_UINT:
case VK_FORMAT_R16G16_SINT:
// shaderStorageImageExtendedFormats
case VK_FORMAT_R16G16_SFLOAT:
case VK_FORMAT_B10G11R11_UFLOAT_PACK32:
case VK_FORMAT_R16_SFLOAT:
case VK_FORMAT_R16G16B16A16_UNORM:
case VK_FORMAT_A2B10G10R10_UNORM_PACK32:
case VK_FORMAT_R16G16_UNORM:
case VK_FORMAT_R8G8_UNORM:
case VK_FORMAT_R16_UNORM:
case VK_FORMAT_R8_UNORM:
case VK_FORMAT_R16G16B16A16_SNORM:
case VK_FORMAT_R16G16_SNORM:
case VK_FORMAT_R8G8_SNORM:
case VK_FORMAT_R16_SNORM:
case VK_FORMAT_R8_SNORM:
case VK_FORMAT_R16G16_SINT:
case VK_FORMAT_R8G8_SINT:
case VK_FORMAT_R16_SINT:
case VK_FORMAT_R8_SINT:
case VK_FORMAT_A2B10G10R10_UINT_PACK32:
case VK_FORMAT_R16G16_UINT:
case VK_FORMAT_R8G8_UINT:
case VK_FORMAT_R16_UINT:
case VK_FORMAT_R8_UINT:
pFormatProperties->optimalTilingFeatures |=
VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT;
// [[fallthrough]]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment