mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-21 10:49:14 +00:00
Support all BC formats on D3D12, Metal and Vulkan
This patch adds the support of all BC formats on D3D12, Metal and Vulkan and related end2end tests. BUG=dawn:42 TEST=dawn_end2end_tests Change-Id: I50caf687d3cfee7df80070952f55f96dc363a830 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/8900 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
This commit is contained in:
committed by
Commit Bot service account
parent
d6f13c645b
commit
5580970f59
@@ -191,11 +191,34 @@ namespace dawn_native { namespace d3d12 {
|
||||
case dawn::TextureFormat::Depth24PlusStencil8:
|
||||
return DXGI_FORMAT_D32_FLOAT_S8X24_UINT;
|
||||
|
||||
// TODO(jiawei.shao@intel.com): support all BC formats
|
||||
case dawn::TextureFormat::BC1RGBAUnorm:
|
||||
return DXGI_FORMAT_BC1_UNORM;
|
||||
case dawn::TextureFormat::BC1RGBAUnormSrgb:
|
||||
return DXGI_FORMAT_BC1_UNORM_SRGB;
|
||||
case dawn::TextureFormat::BC2RGBAUnorm:
|
||||
return DXGI_FORMAT_BC2_UNORM;
|
||||
case dawn::TextureFormat::BC2RGBAUnormSrgb:
|
||||
return DXGI_FORMAT_BC2_UNORM_SRGB;
|
||||
case dawn::TextureFormat::BC3RGBAUnorm:
|
||||
return DXGI_FORMAT_BC3_UNORM;
|
||||
case dawn::TextureFormat::BC3RGBAUnormSrgb:
|
||||
return DXGI_FORMAT_BC3_UNORM_SRGB;
|
||||
case dawn::TextureFormat::BC4RSnorm:
|
||||
return DXGI_FORMAT_BC4_SNORM;
|
||||
case dawn::TextureFormat::BC4RUnorm:
|
||||
return DXGI_FORMAT_BC4_UNORM;
|
||||
case dawn::TextureFormat::BC5RGSnorm:
|
||||
return DXGI_FORMAT_BC5_SNORM;
|
||||
case dawn::TextureFormat::BC5RGUnorm:
|
||||
return DXGI_FORMAT_BC5_UNORM;
|
||||
case dawn::TextureFormat::BC6HRGBSfloat:
|
||||
return DXGI_FORMAT_BC6H_SF16;
|
||||
case dawn::TextureFormat::BC6HRGBUfloat:
|
||||
return DXGI_FORMAT_BC6H_UF16;
|
||||
case dawn::TextureFormat::BC7RGBAUnorm:
|
||||
return DXGI_FORMAT_BC7_UNORM;
|
||||
case dawn::TextureFormat::BC7RGBAUnormSrgb:
|
||||
return DXGI_FORMAT_BC7_UNORM_SRGB;
|
||||
|
||||
default:
|
||||
UNREACHABLE();
|
||||
|
||||
@@ -217,11 +217,34 @@ namespace dawn_native { namespace metal {
|
||||
case dawn::TextureFormat::Depth24PlusStencil8:
|
||||
return MTLPixelFormatDepth32Float_Stencil8;
|
||||
|
||||
// TODO(jiawei.shao@intel.com): support all BC formats
|
||||
case dawn::TextureFormat::BC1RGBAUnorm:
|
||||
return MTLPixelFormatBC1_RGBA;
|
||||
case dawn::TextureFormat::BC1RGBAUnormSrgb:
|
||||
return MTLPixelFormatBC1_RGBA_sRGB;
|
||||
case dawn::TextureFormat::BC2RGBAUnorm:
|
||||
return MTLPixelFormatBC2_RGBA;
|
||||
case dawn::TextureFormat::BC2RGBAUnormSrgb:
|
||||
return MTLPixelFormatBC2_RGBA_sRGB;
|
||||
case dawn::TextureFormat::BC3RGBAUnorm:
|
||||
return MTLPixelFormatBC3_RGBA;
|
||||
case dawn::TextureFormat::BC3RGBAUnormSrgb:
|
||||
return MTLPixelFormatBC3_RGBA_sRGB;
|
||||
case dawn::TextureFormat::BC4RSnorm:
|
||||
return MTLPixelFormatBC4_RSnorm;
|
||||
case dawn::TextureFormat::BC4RUnorm:
|
||||
return MTLPixelFormatBC4_RUnorm;
|
||||
case dawn::TextureFormat::BC5RGSnorm:
|
||||
return MTLPixelFormatBC5_RGSnorm;
|
||||
case dawn::TextureFormat::BC5RGUnorm:
|
||||
return MTLPixelFormatBC5_RGUnorm;
|
||||
case dawn::TextureFormat::BC6HRGBSfloat:
|
||||
return MTLPixelFormatBC6H_RGBFloat;
|
||||
case dawn::TextureFormat::BC6HRGBUfloat:
|
||||
return MTLPixelFormatBC6H_RGBUfloat;
|
||||
case dawn::TextureFormat::BC7RGBAUnorm:
|
||||
return MTLPixelFormatBC7_RGBAUnorm;
|
||||
case dawn::TextureFormat::BC7RGBAUnormSrgb:
|
||||
return MTLPixelFormatBC7_RGBAUnorm_sRGB;
|
||||
|
||||
default:
|
||||
UNREACHABLE();
|
||||
|
||||
Reference in New Issue
Block a user