Commit 43341b7a by Jamie Madill Committed by Commit Bot

D3D11: Merge FL10 and 9_3 ANGLE formats.

This will let us use ANGLE formats to describe a format layout rather than a Renderer-specific usage. This in turn will let us use ANGLE formats for other Renderers, as a universal thing. BUG=angleproject:1455 Change-Id: I56492cb809d4ef6ac4b962cb12affbc853bbdaa0 Reviewed-on: https://chromium-review.googlesource.com/365269Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent 509a1d46
......@@ -1984,8 +1984,9 @@ gl::Error Blit11::initResolveDepthStencil(const gl::Extents &extents)
releaseResolveDepthStencilResources();
}
auto resolvedFormat = d3d11::ANGLE_FORMAT_R32G32_FLOAT;
const auto &formatSet = d3d11::GetANGLEFormatSet(resolvedFormat);
auto resolvedFormat = d3d11::ANGLE_FORMAT_R32G32_FLOAT;
const auto &formatSet =
d3d11::GetANGLEFormatSet(resolvedFormat, mRenderer->getRenderer11DeviceCaps());
D3D11_TEXTURE2D_DESC textureDesc;
textureDesc.Width = extents.width;
......
......@@ -3280,7 +3280,8 @@ gl::Error Renderer11::createRenderTarget(int width, int height, GLenum format, G
{
*outRT = new TextureRenderTarget11(
static_cast<ID3D11RenderTargetView *>(nullptr), nullptr, nullptr, nullptr, format,
d3d11::GetANGLEFormatSet(d3d11::ANGLE_FORMAT_NONE), width, height, 1, supportedSamples);
d3d11::GetANGLEFormatSet(d3d11::ANGLE_FORMAT_NONE, mRenderer11DeviceCaps), width,
height, 1, supportedSamples);
}
return gl::Error(GL_NO_ERROR);
......
......@@ -1569,7 +1569,8 @@ TextureStorage11_EGLImage::TextureStorage11_EGLImage(Renderer11 *renderer, EGLIm
mMipLevels = 1;
mTextureFormatSet = &renderTarget11->getFormatSet();
mSwizzleFormatSet = &d3d11::GetANGLEFormatSet(mTextureFormatSet->swizzleFormat);
mSwizzleFormatSet = &d3d11::GetANGLEFormatSet(mTextureFormatSet->swizzleFormat,
renderer->getRenderer11DeviceCaps());
mTextureWidth = renderTarget11->getWidth();
mTextureHeight = renderTarget11->getHeight();
mTextureDepth = 1;
......
......@@ -80,22 +80,20 @@
"swizzleFormat": "ANGLE_FORMAT_R8G8B8A8_UNORM",
"glInternalFormat": "GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE"
},
"ANGLE_FORMAT_D24_UNORM_S8_UINT_FL10": {
"texFormat": "DXGI_FORMAT_R24G8_TYPELESS",
"srvFormat": "DXGI_FORMAT_R24_UNORM_X8_TYPELESS",
"ANGLE_FORMAT_D24_UNORM_S8_UINT": {
"FL10Plus": {
"texFormat": "DXGI_FORMAT_R24G8_TYPELESS",
"srvFormat": "DXGI_FORMAT_R24_UNORM_X8_TYPELESS"
},
"FL9_3": {
"texFormat": "DXGI_FORMAT_D24_UNORM_S8_UINT"
},
"dsvFormat": "DXGI_FORMAT_D24_UNORM_S8_UINT",
"channels": "ds",
"bits": { "depth": 24, "stencil": 8 },
"glInternalFormat": "GL_DEPTH24_STENCIL8_OES"
},
"ANGLE_FORMAT_D24_UNORM_S8_UINT_FL9_3": {
"texFormat": "DXGI_FORMAT_D24_UNORM_S8_UINT",
"dsvFormat": "DXGI_FORMAT_D24_UNORM_S8_UINT",
"channels": "ds",
"bits": { "depth": 24, "stencil": 8 },
"glInternalFormat": "GL_DEPTH24_STENCIL8_OES"
},
"ANGLE_FORMAT_D32_FLOAT_S8X24_UINT_FL10": {
"ANGLE_FORMAT_D32_FLOAT_S8X24_UINT": {
"texFormat": "DXGI_FORMAT_R32G8X24_TYPELESS",
"srvFormat": "DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS",
"dsvFormat": "DXGI_FORMAT_D32_FLOAT_S8X24_UINT",
......@@ -103,17 +101,14 @@
"bits": { "depth": 32, "stencil": 8 },
"glInternalFormat": "GL_DEPTH32F_STENCIL8"
},
"ANGLE_FORMAT_D16_UNORM_FL10": {
"texFormat": "DXGI_FORMAT_R16_TYPELESS",
"srvFormat": "DXGI_FORMAT_R16_UNORM",
"dsvFormat": "DXGI_FORMAT_D16_UNORM",
"channels": "d",
"componentType": "unorm",
"bits": { "depth": 16 },
"glInternalFormat": "GL_DEPTH_COMPONENT16"
},
"ANGLE_FORMAT_D16_UNORM_FL9_3": {
"texFormat": "DXGI_FORMAT_D16_UNORM",
"ANGLE_FORMAT_D16_UNORM": {
"FL10Plus": {
"texFormat": "DXGI_FORMAT_R16_TYPELESS",
"srvFormat": "DXGI_FORMAT_R16_UNORM"
},
"FL9_3": {
"texFormat": "DXGI_FORMAT_D16_UNORM"
},
"dsvFormat": "DXGI_FORMAT_D16_UNORM",
"channels": "d",
"componentType": "unorm",
......
......@@ -77,27 +77,25 @@
"OnlyFL10Plus": "ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB"
},
"GL_DEPTH24_STENCIL8": {
"OnlyFL10Plus": "ANGLE_FORMAT_D24_UNORM_S8_UINT_FL10",
"OnlyFL9_3": "ANGLE_FORMAT_D24_UNORM_S8_UINT_FL9_3"
"OnlyFL10Plus": "ANGLE_FORMAT_D24_UNORM_S8_UINT",
"OnlyFL9_3": "ANGLE_FORMAT_D24_UNORM_S8_UINT"
},
"GL_DEPTH32F_STENCIL8": {
"OnlyFL10Plus": "ANGLE_FORMAT_D32_FLOAT_S8X24_UINT_FL10",
"OnlyFL9_3": "ANGLE_FORMAT_NONE"
"OnlyFL10Plus": "ANGLE_FORMAT_D32_FLOAT_S8X24_UINT"
},
"GL_DEPTH_COMPONENT16": {
"OnlyFL10Plus": "ANGLE_FORMAT_D16_UNORM_FL10",
"OnlyFL9_3": "ANGLE_FORMAT_D16_UNORM_FL9_3"
"OnlyFL10Plus": "ANGLE_FORMAT_D16_UNORM",
"OnlyFL9_3": "ANGLE_FORMAT_D16_UNORM"
},
"GL_DEPTH_COMPONENT24": {
"OnlyFL10Plus": "ANGLE_FORMAT_D24_UNORM_S8_UINT_FL10",
"OnlyFL9_3": "ANGLE_FORMAT_D24_UNORM_S8_UINT_FL9_3"
"OnlyFL10Plus": "ANGLE_FORMAT_D24_UNORM_S8_UINT",
"OnlyFL9_3": "ANGLE_FORMAT_D24_UNORM_S8_UINT"
},
"GL_DEPTH_COMPONENT32F": {
"OnlyFL10Plus": "ANGLE_FORMAT_D32_FLOAT",
"OnlyFL9_3": "ANGLE_FORMAT_NONE"
"OnlyFL10Plus": "ANGLE_FORMAT_D32_FLOAT"
},
"GL_DEPTH_COMPONENT32_OES": {
"OnlyFL10Plus": "ANGLE_FORMAT_D24_UNORM_S8_UINT_FL10"
"OnlyFL10Plus": "ANGLE_FORMAT_D24_UNORM_S8_UINT"
},
"GL_ETC1_RGB8_OES": "ANGLE_FORMAT_R8G8B8A8_UNORM",
"GL_ETC1_RGB8_LOSSY_DECODE_ANGLE": "ANGLE_FORMAT_BC1_UNORM",
......@@ -171,8 +169,8 @@
"GL_SRGB8": "ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB",
"GL_SRGB8_ALPHA8": "ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB",
"GL_STENCIL_INDEX8": {
"OnlyFL10Plus": "ANGLE_FORMAT_D24_UNORM_S8_UINT_FL10",
"OnlyFL9_3": "ANGLE_FORMAT_D24_UNORM_S8_UINT_FL9_3"
"OnlyFL10Plus": "ANGLE_FORMAT_D24_UNORM_S8_UINT",
"OnlyFL9_3": "ANGLE_FORMAT_D24_UNORM_S8_UINT"
},
"GL_R16_EXT": "ANGLE_FORMAT_R16_UNORM",
"GL_RG16_EXT": "ANGLE_FORMAT_R16G16_UNORM",
......
......@@ -81,7 +81,8 @@ struct TextureFormat : public angle::NonCopyable
{
TextureFormat(GLenum internalFormat,
const ANGLEFormat angleFormat,
InitializeTextureDataFunction internalFormatInitializer);
InitializeTextureDataFunction internalFormatInitializer,
const Renderer11DeviceCaps &deviceCaps);
const ANGLEFormatSet *formatSet;
const ANGLEFormatSet *swizzleFormatSet;
......@@ -92,7 +93,8 @@ struct TextureFormat : public angle::NonCopyable
LoadFunctionMap loadFunctions;
};
const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat);
const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat,
const Renderer11DeviceCaps &deviceCaps);
const TextureFormat &GetTextureFormatInfo(GLenum internalformat,
const Renderer11DeviceCaps &renderer11DeviceCaps);
......
......@@ -22,12 +22,10 @@ enum ANGLEFormat
ANGLE_FORMAT_BC1_UNORM,
ANGLE_FORMAT_BC2_UNORM,
ANGLE_FORMAT_BC3_UNORM,
ANGLE_FORMAT_D16_UNORM_FL10,
ANGLE_FORMAT_D16_UNORM_FL9_3,
ANGLE_FORMAT_D24_UNORM_S8_UINT_FL10,
ANGLE_FORMAT_D24_UNORM_S8_UINT_FL9_3,
ANGLE_FORMAT_D16_UNORM,
ANGLE_FORMAT_D24_UNORM_S8_UINT,
ANGLE_FORMAT_D32_FLOAT,
ANGLE_FORMAT_D32_FLOAT_S8X24_UINT_FL10,
ANGLE_FORMAT_D32_FLOAT_S8X24_UINT,
ANGLE_FORMAT_NONE,
ANGLE_FORMAT_R10G10B10A2_UINT,
ANGLE_FORMAT_R10G10B10A2_UNORM,
......
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