Commit 7d32aa5f by Jamie Madill

Revert "D3D11 Texture refactoring: Store ANGLEFormat in TextureStorage11"

Failing Windows Debug WebGL tests: https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Debug%20%28NVIDIA%29/builds/13587 Seems to fail in and around: [ FAILED ] WebglConformance.conformance_renderbuffers_framebuffer_object_attachment (320392 ms) [ RUN ] WebglConformance.conformance_renderbuffers_framebuffer_state_restoration BUG=angleproject:1244 This reverts commit d72c61c6. Change-Id: Id84d6988bc1a3530d8dde4c36d18b735f3de06fc Reviewed-on: https://chromium-review.googlesource.com/329621Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
parent d72c61c6
......@@ -178,7 +178,7 @@ static unsigned int getDSVSubresourceIndex(ID3D11Resource *resource, ID3D11Depth
return D3D11CalcSubresource(mipSlice, arraySlice, mipLevels);
}
RenderTarget11::RenderTarget11(d3d11::ANGLEFormat angleFormat) : mANGLEFormat(angleFormat)
RenderTarget11::RenderTarget11()
{
}
......@@ -211,17 +211,9 @@ void RenderTarget11::signalDirty()
mDirtyCallbacks.clear();
}
TextureRenderTarget11::TextureRenderTarget11(ID3D11RenderTargetView *rtv,
ID3D11Resource *resource,
ID3D11ShaderResourceView *srv,
GLenum internalFormat,
d3d11::ANGLEFormat angleFormat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLsizei samples)
: RenderTarget11(angleFormat),
mWidth(width),
TextureRenderTarget11::TextureRenderTarget11(ID3D11RenderTargetView *rtv, ID3D11Resource *resource, ID3D11ShaderResourceView *srv,
GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei samples)
: mWidth(width),
mHeight(height),
mDepth(depth),
mInternalFormat(internalFormat),
......@@ -256,20 +248,11 @@ TextureRenderTarget11::TextureRenderTarget11(ID3D11RenderTargetView *rtv,
mRenderTarget->GetDesc(&desc);
mDXGIFormat = desc.Format;
}
ASSERT(mANGLEFormat != d3d11::ANGLE_FORMAT_NONE || (mWidth == 0 && mHeight == 0));
}
TextureRenderTarget11::TextureRenderTarget11(ID3D11DepthStencilView *dsv,
ID3D11Resource *resource,
ID3D11ShaderResourceView *srv,
GLenum internalFormat,
d3d11::ANGLEFormat angleFormat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLsizei samples)
: RenderTarget11(angleFormat),
mWidth(width),
}
TextureRenderTarget11::TextureRenderTarget11(ID3D11DepthStencilView *dsv, ID3D11Resource *resource, ID3D11ShaderResourceView *srv,
GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei samples)
: mWidth(width),
mHeight(height),
mDepth(depth),
mInternalFormat(internalFormat),
......@@ -304,7 +287,6 @@ TextureRenderTarget11::TextureRenderTarget11(ID3D11DepthStencilView *dsv,
mDepthStencil->GetDesc(&desc);
mDXGIFormat = desc.Format;
}
ASSERT(mANGLEFormat != d3d11::ANGLE_FORMAT_NONE || (mWidth == 0 && mHeight == 0));
}
TextureRenderTarget11::~TextureRenderTarget11()
......@@ -370,19 +352,12 @@ DXGI_FORMAT TextureRenderTarget11::getDXGIFormat() const
return mDXGIFormat;
}
SurfaceRenderTarget11::SurfaceRenderTarget11(SwapChain11 *swapChain,
Renderer11 *renderer,
bool depth)
: RenderTarget11(d3d11::ANGLE_FORMAT_NONE), // format will be determined in constructor body
mSwapChain(swapChain),
SurfaceRenderTarget11::SurfaceRenderTarget11(SwapChain11 *swapChain, Renderer11 *renderer, bool depth)
: mSwapChain(swapChain),
mRenderer(renderer),
mDepth(depth)
{
ASSERT(mSwapChain);
mANGLEFormat = d3d11::GetTextureFormatInfo(getInternalFormatInternal(),
mRenderer->getRenderer11DeviceCaps())
.formatSet.format;
}
SurfaceRenderTarget11::~SurfaceRenderTarget11()
......@@ -406,11 +381,6 @@ GLsizei SurfaceRenderTarget11::getDepth() const
GLenum SurfaceRenderTarget11::getInternalFormat() const
{
return getInternalFormatInternal();
}
GLenum SurfaceRenderTarget11::getInternalFormatInternal() const
{
return (mDepth ? mSwapChain->GetDepthBufferInternalFormat() : mSwapChain->GetRenderTargetInternalFormat());
}
......@@ -437,8 +407,7 @@ ID3D11DepthStencilView *SurfaceRenderTarget11::getDepthStencilView() const
ID3D11ShaderResourceView *SurfaceRenderTarget11::getShaderResourceView() const
{
return (mDepth ? mSwapChain->getDepthStencilShaderResource()
: mSwapChain->getRenderTargetShaderResource());
return (mDepth ? mSwapChain->getDepthStencilShaderResource() : mSwapChain->getRenderTargetShaderResource());
}
unsigned int SurfaceRenderTarget11::getSubresourceIndex() const
......
......@@ -11,7 +11,6 @@
#define LIBANGLE_RENDERER_D3D_D3D11_RENDERTARGET11_H_
#include "libANGLE/renderer/d3d/RenderTargetD3D.h"
#include "libANGLE/renderer/d3d/d3d11/texture_format_table.h"
#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
......@@ -23,7 +22,7 @@ class Renderer11;
class RenderTarget11 : public RenderTargetD3D
{
public:
RenderTarget11(d3d11::ANGLEFormat angleFormat);
RenderTarget11();
virtual ~RenderTarget11();
virtual ID3D11Resource *getTexture() const = 0;
......@@ -39,36 +38,18 @@ class RenderTarget11 : public RenderTargetD3D
void removeDirtyCallback(const NotificationCallback *callback);
void signalDirty() override;
d3d11::ANGLEFormat getANGLEFormat() const { return mANGLEFormat; }
protected:
std::set<const NotificationCallback *> mDirtyCallbacks;
d3d11::ANGLEFormat mANGLEFormat;
};
class TextureRenderTarget11 : public RenderTarget11
{
public:
// TextureRenderTarget11 takes ownership of any D3D11 resources it is given and will AddRef them
TextureRenderTarget11(ID3D11RenderTargetView *rtv,
ID3D11Resource *resource,
ID3D11ShaderResourceView *srv,
GLenum internalFormat,
d3d11::ANGLEFormat angleFormat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLsizei samples);
TextureRenderTarget11(ID3D11DepthStencilView *dsv,
ID3D11Resource *resource,
ID3D11ShaderResourceView *srv,
GLenum internalFormat,
d3d11::ANGLEFormat angleFormat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLsizei samples);
TextureRenderTarget11(ID3D11RenderTargetView *rtv, ID3D11Resource *resource, ID3D11ShaderResourceView *srv,
GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei samples);
TextureRenderTarget11(ID3D11DepthStencilView *dsv, ID3D11Resource *resource, ID3D11ShaderResourceView *srv,
GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei samples);
virtual ~TextureRenderTarget11();
GLsizei getWidth() const override;
......@@ -123,10 +104,6 @@ class SurfaceRenderTarget11 : public RenderTarget11
DXGI_FORMAT getDXGIFormat() const override;
private:
// The internal versions of the functions are needed so that they can be safely called
// from the constructor.
GLenum getInternalFormatInternal() const;
SwapChain11 *mSwapChain;
Renderer11 *mRenderer;
bool mDepth;
......
......@@ -3131,9 +3131,7 @@ gl::Error Renderer11::createRenderTarget(int width, int height, GLenum format, G
return gl::Error(GL_OUT_OF_MEMORY, "Failed to create render target depth stencil view, result: 0x%X.", result);
}
*outRT =
new TextureRenderTarget11(dsv, texture, srv, format, formatInfo.formatSet.format,
width, height, 1, supportedSamples);
*outRT = new TextureRenderTarget11(dsv, texture, srv, format, width, height, 1, supportedSamples);
SafeRelease(dsv);
}
......@@ -3160,9 +3158,7 @@ gl::Error Renderer11::createRenderTarget(int width, int height, GLenum format, G
mDeviceContext->ClearRenderTargetView(rtv, clearValues);
}
*outRT =
new TextureRenderTarget11(rtv, texture, srv, format, formatInfo.formatSet.format,
width, height, 1, supportedSamples);
*outRT = new TextureRenderTarget11(rtv, texture, srv, format, width, height, 1, supportedSamples);
SafeRelease(rtv);
}
......@@ -3176,9 +3172,7 @@ gl::Error Renderer11::createRenderTarget(int width, int height, GLenum format, G
}
else
{
*outRT = new TextureRenderTarget11(reinterpret_cast<ID3D11RenderTargetView *>(nullptr),
nullptr, nullptr, format, d3d11::ANGLE_FORMAT_NONE,
width, height, 1, supportedSamples);
*outRT = new TextureRenderTarget11(reinterpret_cast<ID3D11RenderTargetView*>(NULL), NULL, NULL, format, width, height, 1, supportedSamples);
}
return gl::Error(GL_NO_ERROR);
......
......@@ -773,6 +773,7 @@ TextureStorage11_2D::TextureStorage11_2D(Renderer11 *renderer, SwapChain11 *swap
D3D11_TEXTURE2D_DESC texDesc;
mTexture->GetDesc(&texDesc);
mMipLevels = texDesc.MipLevels;
mTextureFormatSet.texFormat = texDesc.Format;
mTextureWidth = texDesc.Width;
mTextureHeight = texDesc.Height;
mTextureDepth = 1;
......@@ -780,10 +781,22 @@ TextureStorage11_2D::TextureStorage11_2D(Renderer11 *renderer, SwapChain11 *swap
mInternalFormat = swapchain->GetRenderTargetInternalFormat();
const auto &formatInfo =
d3d11::GetTextureFormatInfo(mInternalFormat, mRenderer->getRenderer11DeviceCaps());
mTextureFormatSet = formatInfo.formatSet;
ID3D11ShaderResourceView *srv = swapchain->getRenderTargetShaderResource();
D3D11_SHADER_RESOURCE_VIEW_DESC srvDesc;
srv->GetDesc(&srvDesc);
mTextureFormatSet.srvFormat = srvDesc.Format;
ID3D11RenderTargetView *offscreenRTV = swapchain->getRenderTarget();
D3D11_RENDER_TARGET_VIEW_DESC rtvDesc;
offscreenRTV->GetDesc(&rtvDesc);
mTextureFormatSet.rtvFormat = rtvDesc.Format;
const d3d11::DXGIFormat &dxgiFormatInfo = d3d11::GetDXGIFormatInfo(mTextureFormatSet.texFormat);
const d3d11::TextureFormat &formatInfo = d3d11::GetTextureFormatInfo(
dxgiFormatInfo.internalFormat, mRenderer->getRenderer11DeviceCaps());
mSwizzleFormatSet = formatInfo.swizzleFormatSet;
mTextureFormatSet.dsvFormat = DXGI_FORMAT_UNKNOWN;
}
TextureStorage11_2D::TextureStorage11_2D(Renderer11 *renderer,
......@@ -1239,9 +1252,9 @@ gl::Error TextureStorage11_2D::getRenderTarget(const gl::ImageIndex &index, Rend
}
ASSERT(SUCCEEDED(result));
mLevelZeroRenderTarget = new TextureRenderTarget11(
rtv, mLevelZeroTexture, nullptr, mInternalFormat, mTextureFormatSet.format,
getLevelWidth(level), getLevelHeight(level), 1, 0);
mLevelZeroRenderTarget =
new TextureRenderTarget11(rtv, mLevelZeroTexture, nullptr, mInternalFormat,
getLevelWidth(level), getLevelHeight(level), 1, 0);
// RenderTarget will take ownership of these resources
SafeRelease(rtv);
......@@ -1270,9 +1283,8 @@ gl::Error TextureStorage11_2D::getRenderTarget(const gl::ImageIndex &index, Rend
result);
}
mRenderTarget[level] =
new TextureRenderTarget11(rtv, texture, srv, mInternalFormat, mTextureFormatSet.format,
getLevelWidth(level), getLevelHeight(level), 1, 0);
mRenderTarget[level] = new TextureRenderTarget11(
rtv, texture, srv, mInternalFormat, getLevelWidth(level), getLevelHeight(level), 1, 0);
// RenderTarget will take ownership of these resources
SafeRelease(rtv);
......@@ -1301,9 +1313,8 @@ gl::Error TextureStorage11_2D::getRenderTarget(const gl::ImageIndex &index, Rend
result);
}
mRenderTarget[level] =
new TextureRenderTarget11(dsv, texture, srv, mInternalFormat, mTextureFormatSet.format,
getLevelWidth(level), getLevelHeight(level), 1, 0);
mRenderTarget[level] = new TextureRenderTarget11(
dsv, texture, srv, mInternalFormat, getLevelWidth(level), getLevelHeight(level), 1, 0);
// RenderTarget will take ownership of these resources
SafeRelease(dsv);
......@@ -1451,12 +1462,45 @@ TextureStorage11_EGLImage::TextureStorage11_EGLImage(Renderer11 *renderer, EGLIm
mCurrentRenderTarget = reinterpret_cast<uintptr_t>(renderTarget11);
mMipLevels = 1;
mTextureFormatSet = d3d11::GetANGLEFormatSet(renderTarget11->getANGLEFormat());
mSwizzleFormatSet = d3d11::GetANGLEFormatSet(mTextureFormatSet.swizzleFormat);
mTextureFormatSet.texFormat = renderTarget11->getDXGIFormat();
mTextureWidth = renderTarget11->getWidth();
mTextureHeight = renderTarget11->getHeight();
mTextureDepth = 1;
mInternalFormat = renderTarget11->getInternalFormat();
ID3D11ShaderResourceView *srv = renderTarget11->getShaderResourceView();
D3D11_SHADER_RESOURCE_VIEW_DESC srvDesc;
srv->GetDesc(&srvDesc);
mTextureFormatSet.srvFormat = srvDesc.Format;
ID3D11RenderTargetView *rtv = renderTarget11->getRenderTargetView();
if (rtv != nullptr)
{
D3D11_RENDER_TARGET_VIEW_DESC rtvDesc;
rtv->GetDesc(&rtvDesc);
mTextureFormatSet.rtvFormat = rtvDesc.Format;
}
else
{
mTextureFormatSet.rtvFormat = DXGI_FORMAT_UNKNOWN;
}
ID3D11DepthStencilView *dsv = renderTarget11->getDepthStencilView();
if (dsv != nullptr)
{
D3D11_DEPTH_STENCIL_VIEW_DESC dsvDesc;
dsv->GetDesc(&dsvDesc);
mTextureFormatSet.dsvFormat = dsvDesc.Format;
}
else
{
mTextureFormatSet.dsvFormat = DXGI_FORMAT_UNKNOWN;
}
const d3d11::DXGIFormat &dxgiFormatInfo = d3d11::GetDXGIFormatInfo(mTextureFormatSet.texFormat);
const d3d11::TextureFormat &formatInfo = d3d11::GetTextureFormatInfo(
dxgiFormatInfo.internalFormat, mRenderer->getRenderer11DeviceCaps());
mSwizzleFormatSet = formatInfo.swizzleFormatSet;
}
TextureStorage11_EGLImage::~TextureStorage11_EGLImage()
......@@ -2209,9 +2253,9 @@ gl::Error TextureStorage11_Cube::getRenderTarget(const gl::ImageIndex &index,
}
ASSERT(SUCCEEDED(result));
mLevelZeroRenderTarget[faceIndex] = new TextureRenderTarget11(
rtv, mLevelZeroTexture, nullptr, mInternalFormat, mTextureFormatSet.format,
getLevelWidth(level), getLevelHeight(level), 1, 0);
mLevelZeroRenderTarget[faceIndex] =
new TextureRenderTarget11(rtv, mLevelZeroTexture, nullptr, mInternalFormat,
getLevelWidth(level), getLevelHeight(level), 1, 0);
// RenderTarget will take ownership of these resources
SafeRelease(rtv);
......@@ -2278,9 +2322,9 @@ gl::Error TextureStorage11_Cube::getRenderTarget(const gl::ImageIndex &index,
d3d11::SetDebugName(rtv, "TexStorageCube.RenderTargetRTV");
mRenderTarget[faceIndex][level] = new TextureRenderTarget11(
rtv, texture, srv, mInternalFormat, mTextureFormatSet.format, getLevelWidth(level),
getLevelHeight(level), 1, 0);
mRenderTarget[faceIndex][level] =
new TextureRenderTarget11(rtv, texture, srv, mInternalFormat, getLevelWidth(level),
getLevelHeight(level), 1, 0);
// RenderTarget will take ownership of these resources
SafeRelease(rtv);
......@@ -2311,9 +2355,9 @@ gl::Error TextureStorage11_Cube::getRenderTarget(const gl::ImageIndex &index,
d3d11::SetDebugName(dsv, "TexStorageCube.RenderTargetDSV");
mRenderTarget[faceIndex][level] = new TextureRenderTarget11(
dsv, texture, srv, mInternalFormat, mTextureFormatSet.format, getLevelWidth(level),
getLevelHeight(level), 1, 0);
mRenderTarget[faceIndex][level] =
new TextureRenderTarget11(dsv, texture, srv, mInternalFormat, getLevelWidth(level),
getLevelHeight(level), 1, 0);
// RenderTarget will take ownership of these resources
SafeRelease(dsv);
......@@ -2755,8 +2799,8 @@ gl::Error TextureStorage11_3D::getRenderTarget(const gl::ImageIndex &index, Rend
d3d11::SetDebugName(rtv, "TexStorage3D.RTV");
mLevelRenderTargets[mipLevel] = new TextureRenderTarget11(
rtv, texture, srv, mInternalFormat, mTextureFormatSet.format,
getLevelWidth(mipLevel), getLevelHeight(mipLevel), getLevelDepth(mipLevel), 0);
rtv, texture, srv, mInternalFormat, getLevelWidth(mipLevel),
getLevelHeight(mipLevel), getLevelDepth(mipLevel), 0);
// RenderTarget will take ownership of these resources
SafeRelease(rtv);
......@@ -2809,9 +2853,9 @@ gl::Error TextureStorage11_3D::getRenderTarget(const gl::ImageIndex &index, Rend
d3d11::SetDebugName(rtv, "TexStorage3D.LayerRTV");
mLevelLayerRenderTargets[key] = new TextureRenderTarget11(
rtv, texture, srv, mInternalFormat, mTextureFormatSet.format,
getLevelWidth(mipLevel), getLevelHeight(mipLevel), 1, 0);
mLevelLayerRenderTargets[key] =
new TextureRenderTarget11(rtv, texture, srv, mInternalFormat,
getLevelWidth(mipLevel), getLevelHeight(mipLevel), 1, 0);
// RenderTarget will take ownership of these resources
SafeRelease(rtv);
......@@ -3200,9 +3244,9 @@ gl::Error TextureStorage11_2DArray::getRenderTarget(const gl::ImageIndex &index,
d3d11::SetDebugName(rtv, "TexStorage2DArray.RenderTargetRTV");
mRenderTargets[key] = new TextureRenderTarget11(
rtv, texture, srv, mInternalFormat, mTextureFormatSet.format,
getLevelWidth(mipLevel), getLevelHeight(mipLevel), 1, 0);
mRenderTargets[key] =
new TextureRenderTarget11(rtv, texture, srv, mInternalFormat,
getLevelWidth(mipLevel), getLevelHeight(mipLevel), 1, 0);
// RenderTarget will take ownership of these resources
SafeRelease(rtv);
......@@ -3233,9 +3277,9 @@ gl::Error TextureStorage11_2DArray::getRenderTarget(const gl::ImageIndex &index,
d3d11::SetDebugName(dsv, "TexStorage2DArray.RenderTargetDSV");
mRenderTargets[key] = new TextureRenderTarget11(
dsv, texture, srv, mInternalFormat, mTextureFormatSet.format,
getLevelWidth(mipLevel), getLevelHeight(mipLevel), 1, 0);
mRenderTargets[key] =
new TextureRenderTarget11(dsv, texture, srv, mInternalFormat,
getLevelWidth(mipLevel), getLevelHeight(mipLevel), 1, 0);
// RenderTarget will take ownership of these resources
SafeRelease(dsv);
......
......@@ -136,8 +136,7 @@ bool SupportsFormat(const Renderer11DeviceCaps &deviceCaps)
}} // namespace
ANGLEFormatSet::ANGLEFormatSet()
: format(ANGLE_FORMAT_NONE),
texFormat(DXGI_FORMAT_UNKNOWN),
: texFormat(DXGI_FORMAT_UNKNOWN),
srvFormat(DXGI_FORMAT_UNKNOWN),
rtvFormat(DXGI_FORMAT_UNKNOWN),
dsvFormat(DXGI_FORMAT_UNKNOWN),
......@@ -150,11 +149,10 @@ ANGLEFormatSet::ANGLEFormatSet()
// This function allows querying for the DXGI texture formats to use for textures, SRVs, RTVs and
// DSVs given a GL internal format.
TextureFormat::TextureFormat(GLenum internalFormat,
const ANGLEFormat angleFormat,
const ANGLEFormatSet &formatSet,
InitializeTextureDataFunction internalFormatInitializer)
: dataInitializerFunction(internalFormatInitializer)
: formatSet(formatSet), dataInitializerFunction(internalFormatInitializer)
{{
formatSet = GetANGLEFormatSet(angleFormat);
swizzleFormatSet = GetANGLEFormatSet(formatSet.swizzleFormat);
// Gather all the load functions for this internal format
......@@ -163,14 +161,12 @@ TextureFormat::TextureFormat(GLenum internalFormat,
ASSERT(loadFunctions.size() != 0 || internalFormat == GL_NONE);
}}
ANGLEFormatSet::ANGLEFormatSet(ANGLEFormat format,
DXGI_FORMAT texFormat,
ANGLEFormatSet::ANGLEFormatSet(DXGI_FORMAT texFormat,
DXGI_FORMAT srvFormat,
DXGI_FORMAT rtvFormat,
DXGI_FORMAT dsvFormat,
ANGLEFormat swizzleFormat)
: format(format),
texFormat(texFormat),
: texFormat(texFormat),
srvFormat(srvFormat),
rtvFormat(rtvFormat),
dsvFormat(dsvFormat),
......@@ -206,7 +202,7 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
}}
// clang-format on
static const TextureFormat defaultInfo(GL_NONE, ANGLE_FORMAT_NONE, nullptr);
static const TextureFormat defaultInfo(GL_NONE, ANGLEFormatSet(), nullptr);
return defaultInfo;
}} // GetTextureFormatInfo
......@@ -351,7 +347,7 @@ def get_texture_format_item(idx, internal_format, requirements_fn, angle_format_
indent += ' '
table_data += indent + 'static const TextureFormat textureFormat(internalFormat,\n'
table_data += indent + ' ' + angle_format_id + ',\n'
table_data += indent + ' GetANGLEFormatSet(' + angle_format_id + '),\n'
table_data += indent + ' ' + internal_format_initializer + ');\n'
table_data += indent + 'return textureFormat;\n'
......@@ -396,8 +392,7 @@ def parse_json_into_switch_angle_format_string(json_data):
dsv_format = angle_format["dsvFormat"] if "dsvFormat" in angle_format else "DXGI_FORMAT_UNKNOWN"
swizzle_format = get_swizzle_format_id(angle_format_item[0], angle_format)
table_data += ' {\n'
table_data += ' static const ANGLEFormatSet formatInfo(' + angle_format_item[0] + ',\n'
table_data += ' ' + tex_format + ',\n'
table_data += ' static const ANGLEFormatSet formatInfo(' + tex_format + ',\n'
table_data += ' ' + srv_format + ',\n'
table_data += ' ' + rtv_format + ',\n'
table_data += ' ' + dsv_format + ',\n'
......@@ -436,9 +431,7 @@ with open('texture_format_map.json') as texture_format_map_file:
texture_format_cases = parse_json_into_switch_texture_format_string(json_map, json_data)
angle_format_cases = parse_json_into_switch_angle_format_string(json_data)
output_cpp = template_texture_format_table_autogen_cpp.format(
texture_format_info_cases=texture_format_cases,
angle_format_info_cases=angle_format_cases)
output_cpp = template_texture_format_table_autogen_cpp.format(texture_format_info_cases=texture_format_cases, angle_format_info_cases=angle_format_cases)
with open('texture_format_table_autogen.cpp', 'wt') as out_file:
out_file.write(output_cpp)
out_file.close()
......
......@@ -38,8 +38,7 @@ struct LoadImageFunctionInfo
struct ANGLEFormatSet
{
ANGLEFormatSet();
ANGLEFormatSet(ANGLEFormat format,
DXGI_FORMAT texFormat,
ANGLEFormatSet(DXGI_FORMAT texFormat,
DXGI_FORMAT srvFormat,
DXGI_FORMAT rtvFormat,
DXGI_FORMAT dsvFormat,
......@@ -47,8 +46,6 @@ struct ANGLEFormatSet
ANGLEFormatSet(const ANGLEFormatSet &) = default;
ANGLEFormatSet &operator=(const ANGLEFormatSet &) = default;
ANGLEFormat format;
DXGI_FORMAT texFormat;
DXGI_FORMAT srvFormat;
DXGI_FORMAT rtvFormat;
......@@ -60,7 +57,7 @@ struct ANGLEFormatSet
struct TextureFormat : public angle::NonCopyable
{
TextureFormat(GLenum internalFormat,
const ANGLEFormat angleFormat,
const ANGLEFormatSet &formatSet,
InitializeTextureDataFunction internalFormatInitializer);
ANGLEFormatSet formatSet;
......
......@@ -98,8 +98,7 @@ bool SupportsFormat(const Renderer11DeviceCaps &deviceCaps)
} // namespace
ANGLEFormatSet::ANGLEFormatSet()
: format(ANGLE_FORMAT_NONE),
texFormat(DXGI_FORMAT_UNKNOWN),
: texFormat(DXGI_FORMAT_UNKNOWN),
srvFormat(DXGI_FORMAT_UNKNOWN),
rtvFormat(DXGI_FORMAT_UNKNOWN),
dsvFormat(DXGI_FORMAT_UNKNOWN),
......@@ -112,11 +111,10 @@ ANGLEFormatSet::ANGLEFormatSet()
// This function allows querying for the DXGI texture formats to use for textures, SRVs, RTVs and
// DSVs given a GL internal format.
TextureFormat::TextureFormat(GLenum internalFormat,
const ANGLEFormat angleFormat,
const ANGLEFormatSet &formatSet,
InitializeTextureDataFunction internalFormatInitializer)
: dataInitializerFunction(internalFormatInitializer)
: formatSet(formatSet), dataInitializerFunction(internalFormatInitializer)
{
formatSet = GetANGLEFormatSet(angleFormat);
swizzleFormatSet = GetANGLEFormatSet(formatSet.swizzleFormat);
// Gather all the load functions for this internal format
......@@ -125,14 +123,12 @@ TextureFormat::TextureFormat(GLenum internalFormat,
ASSERT(loadFunctions.size() != 0 || internalFormat == GL_NONE);
}
ANGLEFormatSet::ANGLEFormatSet(ANGLEFormat format,
DXGI_FORMAT texFormat,
ANGLEFormatSet::ANGLEFormatSet(DXGI_FORMAT texFormat,
DXGI_FORMAT srvFormat,
DXGI_FORMAT rtvFormat,
DXGI_FORMAT dsvFormat,
ANGLEFormat swizzleFormat)
: format(format),
texFormat(texFormat),
: texFormat(texFormat),
srvFormat(srvFormat),
rtvFormat(rtvFormat),
dsvFormat(dsvFormat),
......@@ -147,8 +143,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
{
case ANGLE_FORMAT_A8_UNORM:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_A8_UNORM,
DXGI_FORMAT_A8_UNORM,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_A8_UNORM,
DXGI_FORMAT_A8_UNORM,
DXGI_FORMAT_A8_UNORM,
DXGI_FORMAT_UNKNOWN,
......@@ -157,8 +152,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_B4G4R4A4_UNORM:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_B4G4R4A4_UNORM,
DXGI_FORMAT_B4G4R4A4_UNORM,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_B4G4R4A4_UNORM,
DXGI_FORMAT_B4G4R4A4_UNORM,
DXGI_FORMAT_B4G4R4A4_UNORM,
DXGI_FORMAT_UNKNOWN,
......@@ -167,8 +161,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_B5G5R5A1_UNORM:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_B5G5R5A1_UNORM,
DXGI_FORMAT_B5G5R5A1_UNORM,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_B5G5R5A1_UNORM,
DXGI_FORMAT_B5G5R5A1_UNORM,
DXGI_FORMAT_B5G5R5A1_UNORM,
DXGI_FORMAT_UNKNOWN,
......@@ -177,8 +170,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_B5G6R5_UNORM:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_B5G6R5_UNORM,
DXGI_FORMAT_B5G6R5_UNORM,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_B5G6R5_UNORM,
DXGI_FORMAT_B5G6R5_UNORM,
DXGI_FORMAT_B5G6R5_UNORM,
DXGI_FORMAT_UNKNOWN,
......@@ -187,8 +179,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_B8G8R8A8_UNORM:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_B8G8R8A8_UNORM,
DXGI_FORMAT_B8G8R8A8_UNORM,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_B8G8R8A8_UNORM,
DXGI_FORMAT_B8G8R8A8_UNORM,
DXGI_FORMAT_B8G8R8A8_UNORM,
DXGI_FORMAT_UNKNOWN,
......@@ -197,8 +188,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_BC1_UNORM:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_BC1_UNORM,
DXGI_FORMAT_BC1_UNORM,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_BC1_UNORM,
DXGI_FORMAT_BC1_UNORM,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN,
......@@ -207,8 +197,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_BC2_UNORM:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_BC2_UNORM,
DXGI_FORMAT_BC2_UNORM,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_BC2_UNORM,
DXGI_FORMAT_BC2_UNORM,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN,
......@@ -217,8 +206,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_BC3_UNORM:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_BC3_UNORM,
DXGI_FORMAT_BC3_UNORM,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_BC3_UNORM,
DXGI_FORMAT_BC3_UNORM,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN,
......@@ -227,8 +215,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_D16_UNORM_FL10:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_D16_UNORM_FL10,
DXGI_FORMAT_R16_TYPELESS,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R16_TYPELESS,
DXGI_FORMAT_R16_UNORM,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_D16_UNORM,
......@@ -237,8 +224,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_D16_UNORM_FL9_3:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_D16_UNORM_FL9_3,
DXGI_FORMAT_D16_UNORM,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_D16_UNORM,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_D16_UNORM,
......@@ -247,8 +233,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_D24_UNORM_S8_UINT_FL10:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_D24_UNORM_S8_UINT_FL10,
DXGI_FORMAT_R24G8_TYPELESS,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R24G8_TYPELESS,
DXGI_FORMAT_R24_UNORM_X8_TYPELESS,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_D24_UNORM_S8_UINT,
......@@ -257,8 +242,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_D24_UNORM_S8_UINT_FL9_3:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_D24_UNORM_S8_UINT_FL9_3,
DXGI_FORMAT_D24_UNORM_S8_UINT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_D24_UNORM_S8_UINT,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_D24_UNORM_S8_UINT,
......@@ -267,8 +251,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_D32_FLOAT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_D32_FLOAT,
DXGI_FORMAT_R32_TYPELESS,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R32_TYPELESS,
DXGI_FORMAT_R32_FLOAT,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_D32_FLOAT,
......@@ -277,8 +260,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_D32_FLOAT_S8X24_UINT_FL10:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_D32_FLOAT_S8X24_UINT_FL10,
DXGI_FORMAT_R32G8X24_TYPELESS,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R32G8X24_TYPELESS,
DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_D32_FLOAT_S8X24_UINT,
......@@ -287,8 +269,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_NONE:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_NONE,
DXGI_FORMAT_UNKNOWN,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN,
......@@ -297,8 +278,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R10G10B10A2_UINT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R10G10B10A2_UINT,
DXGI_FORMAT_R10G10B10A2_UINT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R10G10B10A2_UINT,
DXGI_FORMAT_R10G10B10A2_UINT,
DXGI_FORMAT_R10G10B10A2_UINT,
DXGI_FORMAT_UNKNOWN,
......@@ -307,8 +287,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R10G10B10A2_UNORM:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R10G10B10A2_UNORM,
DXGI_FORMAT_R10G10B10A2_UNORM,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R10G10B10A2_UNORM,
DXGI_FORMAT_R10G10B10A2_UNORM,
DXGI_FORMAT_R10G10B10A2_UNORM,
DXGI_FORMAT_UNKNOWN,
......@@ -317,8 +296,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R11G11B10_FLOAT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R11G11B10_FLOAT,
DXGI_FORMAT_R11G11B10_FLOAT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R11G11B10_FLOAT,
DXGI_FORMAT_R11G11B10_FLOAT,
DXGI_FORMAT_R11G11B10_FLOAT,
DXGI_FORMAT_UNKNOWN,
......@@ -327,8 +305,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R16G16B16A16_FLOAT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R16G16B16A16_FLOAT,
DXGI_FORMAT_R16G16B16A16_FLOAT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R16G16B16A16_FLOAT,
DXGI_FORMAT_R16G16B16A16_FLOAT,
DXGI_FORMAT_R16G16B16A16_FLOAT,
DXGI_FORMAT_UNKNOWN,
......@@ -337,8 +314,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R16G16B16A16_SINT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R16G16B16A16_SINT,
DXGI_FORMAT_R16G16B16A16_SINT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R16G16B16A16_SINT,
DXGI_FORMAT_R16G16B16A16_SINT,
DXGI_FORMAT_R16G16B16A16_SINT,
DXGI_FORMAT_UNKNOWN,
......@@ -347,8 +323,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R16G16B16A16_UINT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R16G16B16A16_UINT,
DXGI_FORMAT_R16G16B16A16_UINT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R16G16B16A16_UINT,
DXGI_FORMAT_R16G16B16A16_UINT,
DXGI_FORMAT_R16G16B16A16_UINT,
DXGI_FORMAT_UNKNOWN,
......@@ -357,8 +332,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R16G16B16A16_UNORM:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R16G16B16A16_UNORM,
DXGI_FORMAT_R16G16B16A16_UNORM,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R16G16B16A16_UNORM,
DXGI_FORMAT_R16G16B16A16_UNORM,
DXGI_FORMAT_R16G16B16A16_UNORM,
DXGI_FORMAT_UNKNOWN,
......@@ -367,8 +341,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R16G16_FLOAT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R16G16_FLOAT,
DXGI_FORMAT_R16G16_FLOAT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R16G16_FLOAT,
DXGI_FORMAT_R16G16_FLOAT,
DXGI_FORMAT_R16G16_FLOAT,
DXGI_FORMAT_UNKNOWN,
......@@ -377,8 +350,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R16G16_SINT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R16G16_SINT,
DXGI_FORMAT_R16G16_SINT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R16G16_SINT,
DXGI_FORMAT_R16G16_SINT,
DXGI_FORMAT_R16G16_SINT,
DXGI_FORMAT_UNKNOWN,
......@@ -387,8 +359,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R16G16_UINT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R16G16_UINT,
DXGI_FORMAT_R16G16_UINT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R16G16_UINT,
DXGI_FORMAT_R16G16_UINT,
DXGI_FORMAT_R16G16_UINT,
DXGI_FORMAT_UNKNOWN,
......@@ -397,8 +368,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R16_FLOAT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R16_FLOAT,
DXGI_FORMAT_R16_FLOAT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R16_FLOAT,
DXGI_FORMAT_R16_FLOAT,
DXGI_FORMAT_R16_FLOAT,
DXGI_FORMAT_UNKNOWN,
......@@ -407,8 +377,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R16_SINT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R16_SINT,
DXGI_FORMAT_R16_SINT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R16_SINT,
DXGI_FORMAT_R16_SINT,
DXGI_FORMAT_R16_SINT,
DXGI_FORMAT_UNKNOWN,
......@@ -417,8 +386,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R16_UINT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R16_UINT,
DXGI_FORMAT_R16_UINT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R16_UINT,
DXGI_FORMAT_R16_UINT,
DXGI_FORMAT_R16_UINT,
DXGI_FORMAT_UNKNOWN,
......@@ -427,8 +395,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R32G32B32A32_FLOAT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R32G32B32A32_FLOAT,
DXGI_FORMAT_R32G32B32A32_FLOAT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R32G32B32A32_FLOAT,
DXGI_FORMAT_R32G32B32A32_FLOAT,
DXGI_FORMAT_R32G32B32A32_FLOAT,
DXGI_FORMAT_UNKNOWN,
......@@ -437,8 +404,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R32G32B32A32_SINT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R32G32B32A32_SINT,
DXGI_FORMAT_R32G32B32A32_SINT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R32G32B32A32_SINT,
DXGI_FORMAT_R32G32B32A32_SINT,
DXGI_FORMAT_R32G32B32A32_SINT,
DXGI_FORMAT_UNKNOWN,
......@@ -447,8 +413,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R32G32B32A32_UINT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R32G32B32A32_UINT,
DXGI_FORMAT_R32G32B32A32_UINT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R32G32B32A32_UINT,
DXGI_FORMAT_R32G32B32A32_UINT,
DXGI_FORMAT_R32G32B32A32_UINT,
DXGI_FORMAT_UNKNOWN,
......@@ -457,8 +422,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R32G32_FLOAT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R32G32_FLOAT,
DXGI_FORMAT_R32G32_FLOAT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R32G32_FLOAT,
DXGI_FORMAT_R32G32_FLOAT,
DXGI_FORMAT_R32G32_FLOAT,
DXGI_FORMAT_UNKNOWN,
......@@ -467,8 +431,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R32G32_SINT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R32G32_SINT,
DXGI_FORMAT_R32G32_SINT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R32G32_SINT,
DXGI_FORMAT_R32G32_SINT,
DXGI_FORMAT_R32G32_SINT,
DXGI_FORMAT_UNKNOWN,
......@@ -477,8 +440,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R32G32_UINT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R32G32_UINT,
DXGI_FORMAT_R32G32_UINT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R32G32_UINT,
DXGI_FORMAT_R32G32_UINT,
DXGI_FORMAT_R32G32_UINT,
DXGI_FORMAT_UNKNOWN,
......@@ -487,8 +449,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R32_FLOAT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R32_FLOAT,
DXGI_FORMAT_R32_FLOAT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R32_FLOAT,
DXGI_FORMAT_R32_FLOAT,
DXGI_FORMAT_R32_FLOAT,
DXGI_FORMAT_UNKNOWN,
......@@ -497,8 +458,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R32_SINT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R32_SINT,
DXGI_FORMAT_R32_SINT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R32_SINT,
DXGI_FORMAT_R32_SINT,
DXGI_FORMAT_R32_SINT,
DXGI_FORMAT_UNKNOWN,
......@@ -507,8 +467,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R32_UINT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R32_UINT,
DXGI_FORMAT_R32_UINT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R32_UINT,
DXGI_FORMAT_R32_UINT,
DXGI_FORMAT_R32_UINT,
DXGI_FORMAT_UNKNOWN,
......@@ -517,8 +476,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R8G8B8A8_SINT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R8G8B8A8_SINT,
DXGI_FORMAT_R8G8B8A8_SINT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R8G8B8A8_SINT,
DXGI_FORMAT_R8G8B8A8_SINT,
DXGI_FORMAT_R8G8B8A8_SINT,
DXGI_FORMAT_UNKNOWN,
......@@ -527,8 +485,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R8G8B8A8_SNORM:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R8G8B8A8_SNORM,
DXGI_FORMAT_R8G8B8A8_SNORM,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R8G8B8A8_SNORM,
DXGI_FORMAT_R8G8B8A8_SNORM,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN,
......@@ -537,8 +494,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R8G8B8A8_UINT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R8G8B8A8_UINT,
DXGI_FORMAT_R8G8B8A8_UINT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R8G8B8A8_UINT,
DXGI_FORMAT_R8G8B8A8_UINT,
DXGI_FORMAT_R8G8B8A8_UINT,
DXGI_FORMAT_UNKNOWN,
......@@ -547,8 +503,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R8G8B8A8_UNORM:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_R8G8B8A8_UNORM,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_UNKNOWN,
......@@ -557,8 +512,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R8G8B8A8_UNORM_NONRENDERABLE:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R8G8B8A8_UNORM_NONRENDERABLE,
DXGI_FORMAT_R8G8B8A8_UNORM,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN,
......@@ -567,8 +521,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_UNKNOWN,
......@@ -577,8 +530,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB_NONRENDERABLE:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB_NONRENDERABLE,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN,
......@@ -587,8 +539,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R8G8_SINT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R8G8_SINT,
DXGI_FORMAT_R8G8_SINT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R8G8_SINT,
DXGI_FORMAT_R8G8_SINT,
DXGI_FORMAT_R8G8_SINT,
DXGI_FORMAT_UNKNOWN,
......@@ -597,8 +548,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R8G8_SNORM:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R8G8_SNORM,
DXGI_FORMAT_R8G8_SNORM,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R8G8_SNORM,
DXGI_FORMAT_R8G8_SNORM,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN,
......@@ -607,8 +557,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R8G8_SNORM_NONRENDERABLE:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R8G8_SNORM_NONRENDERABLE,
DXGI_FORMAT_R8G8_SNORM,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R8G8_SNORM,
DXGI_FORMAT_R8G8_SNORM,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN,
......@@ -617,8 +566,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R8G8_UINT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R8G8_UINT,
DXGI_FORMAT_R8G8_UINT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R8G8_UINT,
DXGI_FORMAT_R8G8_UINT,
DXGI_FORMAT_R8G8_UINT,
DXGI_FORMAT_UNKNOWN,
......@@ -627,8 +575,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R8G8_UNORM:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R8G8_UNORM,
DXGI_FORMAT_R8G8_UNORM,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R8G8_UNORM,
DXGI_FORMAT_R8G8_UNORM,
DXGI_FORMAT_R8G8_UNORM,
DXGI_FORMAT_UNKNOWN,
......@@ -637,8 +584,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R8G8_UNORM_NONRENDERABLE:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R8G8_UNORM_NONRENDERABLE,
DXGI_FORMAT_R8G8_UNORM,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R8G8_UNORM,
DXGI_FORMAT_R8G8_UNORM,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN,
......@@ -647,8 +593,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R8_SINT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R8_SINT,
DXGI_FORMAT_R8_SINT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R8_SINT,
DXGI_FORMAT_R8_SINT,
DXGI_FORMAT_R8_SINT,
DXGI_FORMAT_UNKNOWN,
......@@ -657,8 +602,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R8_SNORM:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R8_SNORM,
DXGI_FORMAT_R8_SNORM,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R8_SNORM,
DXGI_FORMAT_R8_SNORM,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN,
......@@ -667,8 +611,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R8_SNORM_NONRENDERABLE:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R8_SNORM_NONRENDERABLE,
DXGI_FORMAT_R8_SNORM,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R8_SNORM,
DXGI_FORMAT_R8_SNORM,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN,
......@@ -677,8 +620,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R8_UINT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R8_UINT,
DXGI_FORMAT_R8_UINT,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R8_UINT,
DXGI_FORMAT_R8_UINT,
DXGI_FORMAT_R8_UINT,
DXGI_FORMAT_UNKNOWN,
......@@ -687,8 +629,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R8_UNORM:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R8_UNORM,
DXGI_FORMAT_R8_UNORM,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R8_UNORM,
DXGI_FORMAT_R8_UNORM,
DXGI_FORMAT_R8_UNORM,
DXGI_FORMAT_UNKNOWN,
......@@ -697,8 +638,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R8_UNORM_NONRENDERABLE:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R8_UNORM_NONRENDERABLE,
DXGI_FORMAT_R8_UNORM,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R8_UNORM,
DXGI_FORMAT_R8_UNORM,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN,
......@@ -707,8 +647,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_R9G9B9E5_SHAREDEXP:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_R9G9B9E5_SHAREDEXP,
DXGI_FORMAT_R9G9B9E5_SHAREDEXP,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R9G9B9E5_SHAREDEXP,
DXGI_FORMAT_R9G9B9E5_SHAREDEXP,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN,
......@@ -717,8 +656,7 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
}
case ANGLE_FORMAT_X24_TYPELESS_G8_UINT:
{
static const ANGLEFormatSet formatInfo(ANGLE_FORMAT_X24_TYPELESS_G8_UINT,
DXGI_FORMAT_R24G8_TYPELESS,
static const ANGLEFormatSet formatInfo(DXGI_FORMAT_R24G8_TYPELESS,
DXGI_FORMAT_X24_TYPELESS_G8_UINT,
DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_D24_UNORM_S8_UINT,
......@@ -747,14 +685,14 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
if (OnlyFL10Plus(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_A8_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_A8_UNORM),
nullptr);
return textureFormat;
}
else if (OnlyFL9_3(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UNORM),
nullptr);
return textureFormat;
}
......@@ -766,14 +704,14 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
case GL_ALPHA16F_EXT:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R16G16B16A16_FLOAT,
GetANGLEFormatSet(ANGLE_FORMAT_R16G16B16A16_FLOAT),
nullptr);
return textureFormat;
}
case GL_ALPHA32F_EXT:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R32G32B32A32_FLOAT,
GetANGLEFormatSet(ANGLE_FORMAT_R32G32B32A32_FLOAT),
nullptr);
return textureFormat;
}
......@@ -782,14 +720,14 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
if (OnlyFL10Plus(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_A8_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_A8_UNORM),
nullptr);
return textureFormat;
}
else if (OnlyFL9_3(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UNORM),
nullptr);
return textureFormat;
}
......@@ -801,28 +739,28 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
case GL_BGR5_A1_ANGLEX:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_B8G8R8A8_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_B8G8R8A8_UNORM),
nullptr);
return textureFormat;
}
case GL_BGRA4_ANGLEX:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_B8G8R8A8_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_B8G8R8A8_UNORM),
nullptr);
return textureFormat;
}
case GL_BGRA8_EXT:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_B8G8R8A8_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_B8G8R8A8_UNORM),
nullptr);
return textureFormat;
}
case GL_BGRA_EXT:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_B8G8R8A8_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_B8G8R8A8_UNORM),
nullptr);
return textureFormat;
}
......@@ -831,7 +769,7 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
if (OnlyFL10Plus(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8_UNORM_NONRENDERABLE,
GetANGLEFormatSet(ANGLE_FORMAT_R8_UNORM_NONRENDERABLE),
nullptr);
return textureFormat;
}
......@@ -845,7 +783,7 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
if (OnlyFL10Plus(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8_UNORM_NONRENDERABLE,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8_UNORM_NONRENDERABLE),
nullptr);
return textureFormat;
}
......@@ -859,7 +797,7 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
if (OnlyFL10Plus(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UNORM_NONRENDERABLE,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UNORM_NONRENDERABLE),
Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>);
return textureFormat;
}
......@@ -873,7 +811,7 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
if (OnlyFL10Plus(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UNORM_NONRENDERABLE,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UNORM_NONRENDERABLE),
Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>);
return textureFormat;
}
......@@ -887,7 +825,7 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
if (OnlyFL10Plus(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UNORM_NONRENDERABLE,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UNORM_NONRENDERABLE),
nullptr);
return textureFormat;
}
......@@ -899,28 +837,28 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_BC1_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_BC1_UNORM),
nullptr);
return textureFormat;
}
case GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_BC2_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_BC2_UNORM),
nullptr);
return textureFormat;
}
case GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_BC3_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_BC3_UNORM),
nullptr);
return textureFormat;
}
case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_BC1_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_BC1_UNORM),
nullptr);
return textureFormat;
}
......@@ -929,7 +867,7 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
if (OnlyFL10Plus(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8_SNORM_NONRENDERABLE,
GetANGLEFormatSet(ANGLE_FORMAT_R8_SNORM_NONRENDERABLE),
nullptr);
return textureFormat;
}
......@@ -943,7 +881,7 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
if (OnlyFL10Plus(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8_SNORM_NONRENDERABLE,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8_SNORM_NONRENDERABLE),
nullptr);
return textureFormat;
}
......@@ -957,7 +895,7 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
if (OnlyFL10Plus(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB_NONRENDERABLE,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB_NONRENDERABLE),
nullptr);
return textureFormat;
}
......@@ -971,7 +909,7 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
if (OnlyFL10Plus(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB_NONRENDERABLE,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB_NONRENDERABLE),
Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>);
return textureFormat;
}
......@@ -985,7 +923,7 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
if (OnlyFL10Plus(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB_NONRENDERABLE,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB_NONRENDERABLE),
nullptr);
return textureFormat;
}
......@@ -999,14 +937,14 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
if (OnlyFL10Plus(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_D24_UNORM_S8_UINT_FL10,
GetANGLEFormatSet(ANGLE_FORMAT_D24_UNORM_S8_UINT_FL10),
nullptr);
return textureFormat;
}
else if (OnlyFL9_3(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_D24_UNORM_S8_UINT_FL9_3,
GetANGLEFormatSet(ANGLE_FORMAT_D24_UNORM_S8_UINT_FL9_3),
nullptr);
return textureFormat;
}
......@@ -1020,14 +958,14 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
if (OnlyFL10Plus(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_D32_FLOAT_S8X24_UINT_FL10,
GetANGLEFormatSet(ANGLE_FORMAT_D32_FLOAT_S8X24_UINT_FL10),
nullptr);
return textureFormat;
}
else if (OnlyFL9_3(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_NONE,
GetANGLEFormatSet(ANGLE_FORMAT_NONE),
nullptr);
return textureFormat;
}
......@@ -1041,14 +979,14 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
if (OnlyFL10Plus(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_D16_UNORM_FL10,
GetANGLEFormatSet(ANGLE_FORMAT_D16_UNORM_FL10),
nullptr);
return textureFormat;
}
else if (OnlyFL9_3(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_D16_UNORM_FL9_3,
GetANGLEFormatSet(ANGLE_FORMAT_D16_UNORM_FL9_3),
nullptr);
return textureFormat;
}
......@@ -1062,14 +1000,14 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
if (OnlyFL10Plus(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_D24_UNORM_S8_UINT_FL10,
GetANGLEFormatSet(ANGLE_FORMAT_D24_UNORM_S8_UINT_FL10),
nullptr);
return textureFormat;
}
else if (OnlyFL9_3(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_D24_UNORM_S8_UINT_FL9_3,
GetANGLEFormatSet(ANGLE_FORMAT_D24_UNORM_S8_UINT_FL9_3),
nullptr);
return textureFormat;
}
......@@ -1083,14 +1021,14 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
if (OnlyFL10Plus(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_D32_FLOAT,
GetANGLEFormatSet(ANGLE_FORMAT_D32_FLOAT),
nullptr);
return textureFormat;
}
else if (OnlyFL9_3(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_NONE,
GetANGLEFormatSet(ANGLE_FORMAT_NONE),
nullptr);
return textureFormat;
}
......@@ -1104,7 +1042,7 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
if (OnlyFL10Plus(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_D24_UNORM_S8_UINT_FL10,
GetANGLEFormatSet(ANGLE_FORMAT_D24_UNORM_S8_UINT_FL10),
nullptr);
return textureFormat;
}
......@@ -1116,287 +1054,287 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
case GL_ETC1_RGB8_LOSSY_DECODE_ANGLE:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_BC1_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_BC1_UNORM),
nullptr);
return textureFormat;
}
case GL_ETC1_RGB8_OES:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UNORM_NONRENDERABLE,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UNORM_NONRENDERABLE),
Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>);
return textureFormat;
}
case GL_LUMINANCE:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UNORM),
Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>);
return textureFormat;
}
case GL_LUMINANCE16F_EXT:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R16G16B16A16_FLOAT,
GetANGLEFormatSet(ANGLE_FORMAT_R16G16B16A16_FLOAT),
Initialize4ComponentData<GLhalf, 0x0000, 0x0000, 0x0000, gl::Float16One>);
return textureFormat;
}
case GL_LUMINANCE32F_EXT:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R32G32B32A32_FLOAT,
GetANGLEFormatSet(ANGLE_FORMAT_R32G32B32A32_FLOAT),
Initialize4ComponentData<GLfloat, 0x00000000, 0x00000000, 0x00000000, gl::Float32One>);
return textureFormat;
}
case GL_LUMINANCE8_ALPHA8_EXT:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UNORM),
nullptr);
return textureFormat;
}
case GL_LUMINANCE8_EXT:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UNORM),
Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>);
return textureFormat;
}
case GL_LUMINANCE_ALPHA:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UNORM),
nullptr);
return textureFormat;
}
case GL_LUMINANCE_ALPHA16F_EXT:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R16G16B16A16_FLOAT,
GetANGLEFormatSet(ANGLE_FORMAT_R16G16B16A16_FLOAT),
nullptr);
return textureFormat;
}
case GL_LUMINANCE_ALPHA32F_EXT:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R32G32B32A32_FLOAT,
GetANGLEFormatSet(ANGLE_FORMAT_R32G32B32A32_FLOAT),
nullptr);
return textureFormat;
}
case GL_NONE:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_NONE,
GetANGLEFormatSet(ANGLE_FORMAT_NONE),
nullptr);
return textureFormat;
}
case GL_R11F_G11F_B10F:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R11G11B10_FLOAT,
GetANGLEFormatSet(ANGLE_FORMAT_R11G11B10_FLOAT),
nullptr);
return textureFormat;
}
case GL_R16F:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R16_FLOAT,
GetANGLEFormatSet(ANGLE_FORMAT_R16_FLOAT),
nullptr);
return textureFormat;
}
case GL_R16I:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R16_SINT,
GetANGLEFormatSet(ANGLE_FORMAT_R16_SINT),
nullptr);
return textureFormat;
}
case GL_R16UI:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R16_UINT,
GetANGLEFormatSet(ANGLE_FORMAT_R16_UINT),
nullptr);
return textureFormat;
}
case GL_R32F:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R32_FLOAT,
GetANGLEFormatSet(ANGLE_FORMAT_R32_FLOAT),
nullptr);
return textureFormat;
}
case GL_R32I:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R32_SINT,
GetANGLEFormatSet(ANGLE_FORMAT_R32_SINT),
nullptr);
return textureFormat;
}
case GL_R32UI:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R32_UINT,
GetANGLEFormatSet(ANGLE_FORMAT_R32_UINT),
nullptr);
return textureFormat;
}
case GL_R8:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_R8_UNORM),
nullptr);
return textureFormat;
}
case GL_R8I:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8_SINT,
GetANGLEFormatSet(ANGLE_FORMAT_R8_SINT),
nullptr);
return textureFormat;
}
case GL_R8UI:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8_UINT,
GetANGLEFormatSet(ANGLE_FORMAT_R8_UINT),
nullptr);
return textureFormat;
}
case GL_R8_SNORM:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8_SNORM,
GetANGLEFormatSet(ANGLE_FORMAT_R8_SNORM),
nullptr);
return textureFormat;
}
case GL_RG16F:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R16G16_FLOAT,
GetANGLEFormatSet(ANGLE_FORMAT_R16G16_FLOAT),
nullptr);
return textureFormat;
}
case GL_RG16I:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R16G16_SINT,
GetANGLEFormatSet(ANGLE_FORMAT_R16G16_SINT),
nullptr);
return textureFormat;
}
case GL_RG16UI:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R16G16_UINT,
GetANGLEFormatSet(ANGLE_FORMAT_R16G16_UINT),
nullptr);
return textureFormat;
}
case GL_RG32F:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R32G32_FLOAT,
GetANGLEFormatSet(ANGLE_FORMAT_R32G32_FLOAT),
nullptr);
return textureFormat;
}
case GL_RG32I:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R32G32_SINT,
GetANGLEFormatSet(ANGLE_FORMAT_R32G32_SINT),
nullptr);
return textureFormat;
}
case GL_RG32UI:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R32G32_UINT,
GetANGLEFormatSet(ANGLE_FORMAT_R32G32_UINT),
nullptr);
return textureFormat;
}
case GL_RG8:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8_UNORM),
nullptr);
return textureFormat;
}
case GL_RG8I:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8_SINT,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8_SINT),
nullptr);
return textureFormat;
}
case GL_RG8UI:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8_UINT,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8_UINT),
nullptr);
return textureFormat;
}
case GL_RG8_SNORM:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8_SNORM,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8_SNORM),
nullptr);
return textureFormat;
}
case GL_RGB:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UNORM),
Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>);
return textureFormat;
}
case GL_RGB10_A2:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R10G10B10A2_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_R10G10B10A2_UNORM),
nullptr);
return textureFormat;
}
case GL_RGB10_A2UI:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R10G10B10A2_UINT,
GetANGLEFormatSet(ANGLE_FORMAT_R10G10B10A2_UINT),
nullptr);
return textureFormat;
}
case GL_RGB16F:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R16G16B16A16_FLOAT,
GetANGLEFormatSet(ANGLE_FORMAT_R16G16B16A16_FLOAT),
Initialize4ComponentData<GLhalf, 0x0000, 0x0000, 0x0000, gl::Float16One>);
return textureFormat;
}
case GL_RGB16I:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R16G16B16A16_SINT,
GetANGLEFormatSet(ANGLE_FORMAT_R16G16B16A16_SINT),
Initialize4ComponentData<GLshort, 0x0000, 0x0000, 0x0000, 0x0001>);
return textureFormat;
}
case GL_RGB16UI:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R16G16B16A16_UINT,
GetANGLEFormatSet(ANGLE_FORMAT_R16G16B16A16_UINT),
Initialize4ComponentData<GLushort, 0x0000, 0x0000, 0x0000, 0x0001>);
return textureFormat;
}
case GL_RGB32F:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R32G32B32A32_FLOAT,
GetANGLEFormatSet(ANGLE_FORMAT_R32G32B32A32_FLOAT),
Initialize4ComponentData<GLfloat, 0x00000000, 0x00000000, 0x00000000, gl::Float32One>);
return textureFormat;
}
case GL_RGB32I:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R32G32B32A32_SINT,
GetANGLEFormatSet(ANGLE_FORMAT_R32G32B32A32_SINT),
Initialize4ComponentData<GLint, 0x00000000, 0x00000000, 0x00000000, 0x00000001>);
return textureFormat;
}
case GL_RGB32UI:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R32G32B32A32_UINT,
GetANGLEFormatSet(ANGLE_FORMAT_R32G32B32A32_UINT),
Initialize4ComponentData<GLuint, 0x00000000, 0x00000000, 0x00000000, 0x00000001>);
return textureFormat;
}
......@@ -1405,14 +1343,14 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
if (SupportsFormat<DXGI_FORMAT_B5G6R5_UNORM,false>(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UNORM),
Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>);
return textureFormat;
}
else if (SupportsFormat<DXGI_FORMAT_B5G6R5_UNORM,true>(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_B5G6R5_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_B5G6R5_UNORM),
nullptr);
return textureFormat;
}
......@@ -1426,14 +1364,14 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
if (SupportsFormat<DXGI_FORMAT_B5G5R5A1_UNORM,false>(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UNORM),
nullptr);
return textureFormat;
}
else if (SupportsFormat<DXGI_FORMAT_B5G5R5A1_UNORM,true>(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_B5G5R5A1_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_B5G5R5A1_UNORM),
nullptr);
return textureFormat;
}
......@@ -1445,84 +1383,84 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
case GL_RGB8:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UNORM),
Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>);
return textureFormat;
}
case GL_RGB8I:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_SINT,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_SINT),
Initialize4ComponentData<GLbyte, 0x00, 0x00, 0x00, 0x01>);
return textureFormat;
}
case GL_RGB8UI:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UINT,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UINT),
Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0x01>);
return textureFormat;
}
case GL_RGB8_SNORM:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_SNORM,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_SNORM),
Initialize4ComponentData<GLbyte, 0x00, 0x00, 0x00, 0x7F>);
return textureFormat;
}
case GL_RGB9_E5:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R9G9B9E5_SHAREDEXP,
GetANGLEFormatSet(ANGLE_FORMAT_R9G9B9E5_SHAREDEXP),
nullptr);
return textureFormat;
}
case GL_RGBA:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UNORM),
nullptr);
return textureFormat;
}
case GL_RGBA16F:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R16G16B16A16_FLOAT,
GetANGLEFormatSet(ANGLE_FORMAT_R16G16B16A16_FLOAT),
nullptr);
return textureFormat;
}
case GL_RGBA16I:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R16G16B16A16_SINT,
GetANGLEFormatSet(ANGLE_FORMAT_R16G16B16A16_SINT),
nullptr);
return textureFormat;
}
case GL_RGBA16UI:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R16G16B16A16_UINT,
GetANGLEFormatSet(ANGLE_FORMAT_R16G16B16A16_UINT),
nullptr);
return textureFormat;
}
case GL_RGBA32F:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R32G32B32A32_FLOAT,
GetANGLEFormatSet(ANGLE_FORMAT_R32G32B32A32_FLOAT),
nullptr);
return textureFormat;
}
case GL_RGBA32I:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R32G32B32A32_SINT,
GetANGLEFormatSet(ANGLE_FORMAT_R32G32B32A32_SINT),
nullptr);
return textureFormat;
}
case GL_RGBA32UI:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R32G32B32A32_UINT,
GetANGLEFormatSet(ANGLE_FORMAT_R32G32B32A32_UINT),
nullptr);
return textureFormat;
}
......@@ -1531,14 +1469,14 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
if (SupportsFormat<DXGI_FORMAT_B4G4R4A4_UNORM,false>(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UNORM),
nullptr);
return textureFormat;
}
else if (SupportsFormat<DXGI_FORMAT_B4G4R4A4_UNORM,true>(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_B4G4R4A4_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_B4G4R4A4_UNORM),
nullptr);
return textureFormat;
}
......@@ -1550,42 +1488,42 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
case GL_RGBA8:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UNORM,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UNORM),
nullptr);
return textureFormat;
}
case GL_RGBA8I:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_SINT,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_SINT),
nullptr);
return textureFormat;
}
case GL_RGBA8UI:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UINT,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UINT),
nullptr);
return textureFormat;
}
case GL_RGBA8_SNORM:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_SNORM,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_SNORM),
nullptr);
return textureFormat;
}
case GL_SRGB8:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB_NONRENDERABLE,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB_NONRENDERABLE),
Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>);
return textureFormat;
}
case GL_SRGB8_ALPHA8:
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB,
GetANGLEFormatSet(ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB),
nullptr);
return textureFormat;
}
......@@ -1594,14 +1532,14 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
if (OnlyFL10Plus(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_X24_TYPELESS_G8_UINT,
GetANGLEFormatSet(ANGLE_FORMAT_X24_TYPELESS_G8_UINT),
nullptr);
return textureFormat;
}
else if (OnlyFL9_3(renderer11DeviceCaps))
{
static const TextureFormat textureFormat(internalFormat,
ANGLE_FORMAT_D24_UNORM_S8_UINT_FL9_3,
GetANGLEFormatSet(ANGLE_FORMAT_D24_UNORM_S8_UINT_FL9_3),
nullptr);
return textureFormat;
}
......@@ -1616,7 +1554,7 @@ const TextureFormat &GetTextureFormatInfo(GLenum internalFormat,
}
// clang-format on
static const TextureFormat defaultInfo(GL_NONE, ANGLE_FORMAT_NONE, nullptr);
static const TextureFormat defaultInfo(GL_NONE, ANGLEFormatSet(), nullptr);
return defaultInfo;
} // GetTextureFormatInfo
......
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