Commit 9cb1df4f by Olli Etuaho Committed by Commit Bot

D3D11: Get mip generation function from ANGLE format

This is done to make it possible to change some of the DXGI formats of integer textures without affecting their mip generation function associations. BUG=angleproject:1244 TEST=angle_end2end_tests, dEQP-GLES3.functional.texture.mipmap.*generate* (all pass) Change-Id: Ie83dd0e1883e9d8e267fbd4bf54b1e466fb0b210 Reviewed-on: https://chromium-review.googlesource.com/328963Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
parent 99cdca03
...@@ -41,15 +41,14 @@ Image11::~Image11() ...@@ -41,15 +41,14 @@ Image11::~Image11()
releaseStagingTexture(); releaseStagingTexture();
} }
gl::Error Image11::generateMipmap(Image11 *dest, Image11 *src) gl::Error Image11::generateMipmap(Image11 *dest,
Image11 *src,
const Renderer11DeviceCaps &rendererCaps)
{ {
ASSERT(src->getDXGIFormat() == dest->getDXGIFormat()); ASSERT(src->getDXGIFormat() == dest->getDXGIFormat());
ASSERT(src->getWidth() == 1 || src->getWidth() / 2 == dest->getWidth()); ASSERT(src->getWidth() == 1 || src->getWidth() / 2 == dest->getWidth());
ASSERT(src->getHeight() == 1 || src->getHeight() / 2 == dest->getHeight()); ASSERT(src->getHeight() == 1 || src->getHeight() / 2 == dest->getHeight());
const d3d11::DXGIFormat &dxgiFormatInfo = d3d11::GetDXGIFormatInfo(src->getDXGIFormat());
ASSERT(dxgiFormatInfo.mipGenerationFunction != NULL);
D3D11_MAPPED_SUBRESOURCE destMapped; D3D11_MAPPED_SUBRESOURCE destMapped;
gl::Error error = dest->map(D3D11_MAP_WRITE, &destMapped); gl::Error error = dest->map(D3D11_MAP_WRITE, &destMapped);
if (error.isError()) if (error.isError())
...@@ -68,9 +67,11 @@ gl::Error Image11::generateMipmap(Image11 *dest, Image11 *src) ...@@ -68,9 +67,11 @@ gl::Error Image11::generateMipmap(Image11 *dest, Image11 *src)
const uint8_t *sourceData = reinterpret_cast<const uint8_t*>(srcMapped.pData); const uint8_t *sourceData = reinterpret_cast<const uint8_t*>(srcMapped.pData);
uint8_t *destData = reinterpret_cast<uint8_t*>(destMapped.pData); uint8_t *destData = reinterpret_cast<uint8_t*>(destMapped.pData);
dxgiFormatInfo.mipGenerationFunction(src->getWidth(), src->getHeight(), src->getDepth(), auto mipGenerationFunction = d3d11::GetTextureFormatInfo(src->getInternalFormat(), rendererCaps)
sourceData, srcMapped.RowPitch, srcMapped.DepthPitch, .formatSet.mipGenerationFunction;
destData, destMapped.RowPitch, destMapped.DepthPitch); mipGenerationFunction(src->getWidth(), src->getHeight(), src->getDepth(), sourceData,
srcMapped.RowPitch, srcMapped.DepthPitch, destData, destMapped.RowPitch,
destMapped.DepthPitch);
dest->unmap(); dest->unmap();
src->unmap(); src->unmap();
......
...@@ -25,6 +25,7 @@ namespace rx ...@@ -25,6 +25,7 @@ namespace rx
class Renderer11; class Renderer11;
class TextureHelper11; class TextureHelper11;
class TextureStorage11; class TextureStorage11;
struct Renderer11DeviceCaps;
class Image11 : public ImageD3D class Image11 : public ImageD3D
{ {
...@@ -32,7 +33,9 @@ class Image11 : public ImageD3D ...@@ -32,7 +33,9 @@ class Image11 : public ImageD3D
Image11(Renderer11 *renderer); Image11(Renderer11 *renderer);
virtual ~Image11(); virtual ~Image11();
static gl::Error generateMipmap(Image11 *dest, Image11 *src); static gl::Error generateMipmap(Image11 *dest,
Image11 *src,
const Renderer11DeviceCaps &rendererCaps);
virtual bool isDirty() const; virtual bool isDirty() const;
......
...@@ -3499,7 +3499,7 @@ gl::Error Renderer11::generateMipmap(ImageD3D *dest, ImageD3D *src) ...@@ -3499,7 +3499,7 @@ gl::Error Renderer11::generateMipmap(ImageD3D *dest, ImageD3D *src)
{ {
Image11 *dest11 = GetAs<Image11>(dest); Image11 *dest11 = GetAs<Image11>(dest);
Image11 *src11 = GetAs<Image11>(src); Image11 *src11 = GetAs<Image11>(src);
return Image11::generateMipmap(dest11, src11); return Image11::generateMipmap(dest11, src11, mRenderer11DeviceCaps);
} }
gl::Error Renderer11::generateMipmapsUsingD3D(TextureStorage *storage, gl::Error Renderer11::generateMipmapsUsingD3D(TextureStorage *storage,
......
...@@ -283,7 +283,6 @@ DXGIFormat::DXGIFormat() ...@@ -283,7 +283,6 @@ DXGIFormat::DXGIFormat()
stencilOffset(0), stencilOffset(0),
internalFormat(GL_NONE), internalFormat(GL_NONE),
componentType(GL_NONE), componentType(GL_NONE),
mipGenerationFunction(NULL),
colorReadFunction(NULL), colorReadFunction(NULL),
fastCopyFunctions(), fastCopyFunctions(),
nativeMipmapSupport(NULL) nativeMipmapSupport(NULL)
...@@ -310,7 +309,6 @@ ColorCopyFunction DXGIFormat::getFastCopyFunction(GLenum format, GLenum type) co ...@@ -310,7 +309,6 @@ ColorCopyFunction DXGIFormat::getFastCopyFunction(GLenum format, GLenum type) co
void AddDXGIFormat(DXGIFormatInfoMap *map, void AddDXGIFormat(DXGIFormatInfoMap *map,
DXGI_FORMAT dxgiFormat, DXGI_FORMAT dxgiFormat,
GLenum componentType, GLenum componentType,
MipGenerationFunction mipFunc,
ColorReadFunction readFunc, ColorReadFunction readFunc,
NativeMipmapGenerationSupportFunction nativeMipmapSupport) NativeMipmapGenerationSupportFunction nativeMipmapSupport)
{ {
...@@ -345,7 +343,6 @@ void AddDXGIFormat(DXGIFormatInfoMap *map, ...@@ -345,7 +343,6 @@ void AddDXGIFormat(DXGIFormatInfoMap *map,
info.componentType = componentType; info.componentType = componentType;
info.mipGenerationFunction = mipFunc;
info.colorReadFunction = readFunc; info.colorReadFunction = readFunc;
static const D3D11FastCopyMap fastCopyMap = BuildFastCopyMap(); static const D3D11FastCopyMap fastCopyMap = BuildFastCopyMap();
...@@ -366,86 +363,86 @@ static DXGIFormatInfoMap BuildDXGIFormatInfoMap() ...@@ -366,86 +363,86 @@ static DXGIFormatInfoMap BuildDXGIFormatInfoMap()
DXGIFormatInfoMap map; DXGIFormatInfoMap map;
// clang-format off // clang-format off
// | DXGI format |Component Type | Mip generation function | Color read function | Native mipmap function // | DXGI format | Component Type | Color read function | Native mipmap function
AddDXGIFormat(&map, DXGI_FORMAT_UNKNOWN, GL_NONE, NULL, NULL, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_UNKNOWN, GL_NONE, nullptr, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_A8_UNORM, GL_UNSIGNED_NORMALIZED, GenerateMip<A8>, ReadColor<A8, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_10_0>); AddDXGIFormat(&map, DXGI_FORMAT_A8_UNORM, GL_UNSIGNED_NORMALIZED, ReadColor<A8, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_10_0>);
AddDXGIFormat(&map, DXGI_FORMAT_R8_UNORM, GL_UNSIGNED_NORMALIZED, GenerateMip<R8>, ReadColor<R8, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_10_0>); AddDXGIFormat(&map, DXGI_FORMAT_R8_UNORM, GL_UNSIGNED_NORMALIZED, ReadColor<R8, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_10_0>);
AddDXGIFormat(&map, DXGI_FORMAT_R8G8_UNORM, GL_UNSIGNED_NORMALIZED, GenerateMip<R8G8>, ReadColor<R8G8, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_10_0>); AddDXGIFormat(&map, DXGI_FORMAT_R8G8_UNORM, GL_UNSIGNED_NORMALIZED, ReadColor<R8G8, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_10_0>);
AddDXGIFormat(&map, DXGI_FORMAT_R8G8B8A8_UNORM, GL_UNSIGNED_NORMALIZED, GenerateMip<R8G8B8A8>, ReadColor<R8G8B8A8, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_9_1>); AddDXGIFormat(&map, DXGI_FORMAT_R8G8B8A8_UNORM, GL_UNSIGNED_NORMALIZED, ReadColor<R8G8B8A8, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_9_1>);
AddDXGIFormat(&map, DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, GL_UNSIGNED_NORMALIZED, GenerateMip<R8G8B8A8>, ReadColor<R8G8B8A8, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_9_1>); AddDXGIFormat(&map, DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, GL_UNSIGNED_NORMALIZED, ReadColor<R8G8B8A8, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_9_1>);
AddDXGIFormat(&map, DXGI_FORMAT_B8G8R8A8_UNORM, GL_UNSIGNED_NORMALIZED, GenerateMip<B8G8R8A8>, ReadColor<B8G8R8A8, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_9_1>); AddDXGIFormat(&map, DXGI_FORMAT_B8G8R8A8_UNORM, GL_UNSIGNED_NORMALIZED, ReadColor<B8G8R8A8, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_9_1>);
AddDXGIFormat(&map, DXGI_FORMAT_R8_SNORM, GL_SIGNED_NORMALIZED, GenerateMip<R8S>, ReadColor<R8S, GLfloat> , RequiresFeatureLevel<D3D_FEATURE_LEVEL_10_0>); AddDXGIFormat(&map, DXGI_FORMAT_R8_SNORM, GL_SIGNED_NORMALIZED, ReadColor<R8S, GLfloat> , RequiresFeatureLevel<D3D_FEATURE_LEVEL_10_0>);
AddDXGIFormat(&map, DXGI_FORMAT_R8G8_SNORM, GL_SIGNED_NORMALIZED, GenerateMip<R8G8S>, ReadColor<R8G8S, GLfloat> , RequiresFeatureLevel<D3D_FEATURE_LEVEL_10_0>); AddDXGIFormat(&map, DXGI_FORMAT_R8G8_SNORM, GL_SIGNED_NORMALIZED, ReadColor<R8G8S, GLfloat> , RequiresFeatureLevel<D3D_FEATURE_LEVEL_10_0>);
AddDXGIFormat(&map, DXGI_FORMAT_R8G8B8A8_SNORM, GL_SIGNED_NORMALIZED, GenerateMip<R8G8B8A8S>, ReadColor<R8G8B8A8S, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_10_0>); AddDXGIFormat(&map, DXGI_FORMAT_R8G8B8A8_SNORM, GL_SIGNED_NORMALIZED, ReadColor<R8G8B8A8S, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_10_0>);
AddDXGIFormat(&map, DXGI_FORMAT_R8_UINT, GL_UNSIGNED_INT, GenerateMip<R8>, ReadColor<R8, GLuint>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R8_UINT, GL_UNSIGNED_INT, ReadColor<R8, GLuint>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R16_UINT, GL_UNSIGNED_INT, GenerateMip<R16>, ReadColor<R16, GLuint>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R16_UINT, GL_UNSIGNED_INT, ReadColor<R16, GLuint>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R32_UINT, GL_UNSIGNED_INT, GenerateMip<R32>, ReadColor<R32, GLuint>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R32_UINT, GL_UNSIGNED_INT, ReadColor<R32, GLuint>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R8G8_UINT, GL_UNSIGNED_INT, GenerateMip<R8G8>, ReadColor<R8G8, GLuint>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R8G8_UINT, GL_UNSIGNED_INT, ReadColor<R8G8, GLuint>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R16G16_UINT, GL_UNSIGNED_INT, GenerateMip<R16G16>, ReadColor<R16G16, GLuint>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R16G16_UINT, GL_UNSIGNED_INT, ReadColor<R16G16, GLuint>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R32G32_UINT, GL_UNSIGNED_INT, GenerateMip<R32G32>, ReadColor<R32G32, GLuint>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R32G32_UINT, GL_UNSIGNED_INT, ReadColor<R32G32, GLuint>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R32G32B32_UINT, GL_UNSIGNED_INT, GenerateMip<R32G32B32>, ReadColor<R32G32B32, GLuint>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R32G32B32_UINT, GL_UNSIGNED_INT, ReadColor<R32G32B32, GLuint>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R8G8B8A8_UINT, GL_UNSIGNED_INT, GenerateMip<R8G8B8A8>, ReadColor<R8G8B8A8, GLuint>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R8G8B8A8_UINT, GL_UNSIGNED_INT, ReadColor<R8G8B8A8, GLuint>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R16G16B16A16_UINT, GL_UNSIGNED_INT, GenerateMip<R16G16B16A16>, ReadColor<R16G16B16A16, GLuint>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R16G16B16A16_UINT, GL_UNSIGNED_INT, ReadColor<R16G16B16A16, GLuint>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R32G32B32A32_UINT, GL_UNSIGNED_INT, GenerateMip<R32G32B32A32>, ReadColor<R32G32B32A32, GLuint>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R32G32B32A32_UINT, GL_UNSIGNED_INT, ReadColor<R32G32B32A32, GLuint>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R8_SINT, GL_INT, GenerateMip<R8S>, ReadColor<R8S, GLint>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R8_SINT, GL_INT, ReadColor<R8S, GLint>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R16_SINT, GL_INT, GenerateMip<R16S>, ReadColor<R16S, GLint>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R16_SINT, GL_INT, ReadColor<R16S, GLint>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R32_SINT, GL_INT, GenerateMip<R32S>, ReadColor<R32S, GLint>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R32_SINT, GL_INT, ReadColor<R32S, GLint>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R8G8_SINT, GL_INT, GenerateMip<R8G8S>, ReadColor<R8G8S, GLint>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R8G8_SINT, GL_INT, ReadColor<R8G8S, GLint>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R16G16_SINT, GL_INT, GenerateMip<R16G16S>, ReadColor<R16G16S, GLint>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R16G16_SINT, GL_INT, ReadColor<R16G16S, GLint>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R32G32_SINT, GL_INT, GenerateMip<R32G32S>, ReadColor<R32G32S, GLint>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R32G32_SINT, GL_INT, ReadColor<R32G32S, GLint>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R32G32B32_SINT, GL_INT, GenerateMip<R32G32B32S>, ReadColor<R32G32B32S, GLint>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R32G32B32_SINT, GL_INT, ReadColor<R32G32B32S, GLint>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R8G8B8A8_SINT, GL_INT, GenerateMip<R8G8B8A8S>, ReadColor<R8G8B8A8S, GLint>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R8G8B8A8_SINT, GL_INT, ReadColor<R8G8B8A8S, GLint>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R16G16B16A16_SINT, GL_INT, GenerateMip<R16G16B16A16S>, ReadColor<R16G16B16A16S, GLint>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R16G16B16A16_SINT, GL_INT, ReadColor<R16G16B16A16S, GLint>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R32G32B32A32_SINT, GL_INT, GenerateMip<R32G32B32A32S>, ReadColor<R32G32B32A32S, GLint>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R32G32B32A32_SINT, GL_INT, ReadColor<R32G32B32A32S, GLint>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R10G10B10A2_UNORM, GL_UNSIGNED_NORMALIZED, GenerateMip<R10G10B10A2>, ReadColor<R10G10B10A2, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_10_0>); AddDXGIFormat(&map, DXGI_FORMAT_R10G10B10A2_UNORM, GL_UNSIGNED_NORMALIZED, ReadColor<R10G10B10A2, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_10_0>);
AddDXGIFormat(&map, DXGI_FORMAT_R10G10B10A2_UINT, GL_UNSIGNED_INT, GenerateMip<R10G10B10A2>, ReadColor<R10G10B10A2, GLuint>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R10G10B10A2_UINT, GL_UNSIGNED_INT, ReadColor<R10G10B10A2, GLuint>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R16_FLOAT, GL_FLOAT, GenerateMip<R16F>, ReadColor<R16F, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_10_0>); AddDXGIFormat(&map, DXGI_FORMAT_R16_FLOAT, GL_FLOAT, ReadColor<R16F, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_10_0>);
AddDXGIFormat(&map, DXGI_FORMAT_R16G16_FLOAT, GL_FLOAT, GenerateMip<R16G16F>, ReadColor<R16G16F, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_9_2>); AddDXGIFormat(&map, DXGI_FORMAT_R16G16_FLOAT, GL_FLOAT, ReadColor<R16G16F, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_9_2>);
AddDXGIFormat(&map, DXGI_FORMAT_R16G16B16A16_FLOAT, GL_FLOAT, GenerateMip<R16G16B16A16F>, ReadColor<R16G16B16A16F, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_9_2>); AddDXGIFormat(&map, DXGI_FORMAT_R16G16B16A16_FLOAT, GL_FLOAT, ReadColor<R16G16B16A16F, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_9_2>);
AddDXGIFormat(&map, DXGI_FORMAT_R32_FLOAT, GL_FLOAT, GenerateMip<R32F>, ReadColor<R32F, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_9_2>); AddDXGIFormat(&map, DXGI_FORMAT_R32_FLOAT, GL_FLOAT, ReadColor<R32F, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_9_2>);
AddDXGIFormat(&map, DXGI_FORMAT_R32G32_FLOAT, GL_FLOAT, GenerateMip<R32G32F>, ReadColor<R32G32F, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_10_0>); AddDXGIFormat(&map, DXGI_FORMAT_R32G32_FLOAT, GL_FLOAT, ReadColor<R32G32F, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_10_0>);
AddDXGIFormat(&map, DXGI_FORMAT_R32G32B32_FLOAT, GL_FLOAT, NULL, NULL, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R32G32B32_FLOAT, GL_FLOAT, nullptr, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R32G32B32A32_FLOAT, GL_FLOAT, GenerateMip<R32G32B32A32F>, ReadColor<R32G32B32A32F, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_9_3>); AddDXGIFormat(&map, DXGI_FORMAT_R32G32B32A32_FLOAT, GL_FLOAT, ReadColor<R32G32B32A32F, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_9_3>);
AddDXGIFormat(&map, DXGI_FORMAT_R9G9B9E5_SHAREDEXP, GL_FLOAT, GenerateMip<R9G9B9E5>, ReadColor<R9G9B9E5, GLfloat>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R9G9B9E5_SHAREDEXP, GL_FLOAT, ReadColor<R9G9B9E5, GLfloat>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R11G11B10_FLOAT, GL_FLOAT, GenerateMip<R11G11B10F>, ReadColor<R11G11B10F, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_10_0>); AddDXGIFormat(&map, DXGI_FORMAT_R11G11B10_FLOAT, GL_FLOAT, ReadColor<R11G11B10F, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_10_0>);
AddDXGIFormat(&map, DXGI_FORMAT_R16_TYPELESS, GL_NONE, NULL, NULL, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R16_TYPELESS, GL_NONE, nullptr, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R16_UNORM, GL_UNSIGNED_NORMALIZED, NULL, NULL, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R16_UNORM, GL_UNSIGNED_NORMALIZED, nullptr, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_D16_UNORM, GL_UNSIGNED_NORMALIZED, NULL, NULL, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_D16_UNORM, GL_UNSIGNED_NORMALIZED, nullptr, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R24G8_TYPELESS, GL_NONE, NULL, NULL, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R24G8_TYPELESS, GL_NONE, nullptr, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R24_UNORM_X8_TYPELESS, GL_NONE, NULL, NULL, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R24_UNORM_X8_TYPELESS, GL_NONE, nullptr, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_D24_UNORM_S8_UINT, GL_UNSIGNED_INT, NULL, NULL, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_D24_UNORM_S8_UINT, GL_UNSIGNED_INT, nullptr, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R32G8X24_TYPELESS, GL_NONE, NULL, NULL, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R32G8X24_TYPELESS, GL_NONE, nullptr, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS, GL_NONE, NULL, NULL, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS, GL_NONE, nullptr, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_D32_FLOAT_S8X24_UINT, GL_UNSIGNED_INT, NULL, NULL, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_D32_FLOAT_S8X24_UINT, GL_UNSIGNED_INT, nullptr, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R32_TYPELESS, GL_NONE, NULL, NULL, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R32_TYPELESS, GL_NONE, nullptr, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_D32_FLOAT, GL_FLOAT, NULL, NULL, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_D32_FLOAT, GL_FLOAT, nullptr, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_BC1_UNORM, GL_UNSIGNED_NORMALIZED, NULL, NULL, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_BC1_UNORM, GL_UNSIGNED_NORMALIZED, nullptr, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_BC2_UNORM, GL_UNSIGNED_NORMALIZED, NULL, NULL, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_BC2_UNORM, GL_UNSIGNED_NORMALIZED, nullptr, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_BC3_UNORM, GL_UNSIGNED_NORMALIZED, NULL, NULL, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_BC3_UNORM, GL_UNSIGNED_NORMALIZED, nullptr, NeverSupported);
// B5G6R5 in D3D11 is treated the same as R5G6B5 in D3D9, so reuse the R5G6B5 functions used by the D3D9 renderer. // B5G6R5 in D3D11 is treated the same as R5G6B5 in D3D9, so reuse the R5G6B5 functions used by the D3D9 renderer.
// The same applies to B4G4R4A4 and B5G5R5A1 with A4R4G4B4 and A1R5G5B5 respectively. // The same applies to B4G4R4A4 and B5G5R5A1 with A4R4G4B4 and A1R5G5B5 respectively.
AddDXGIFormat(&map, DXGI_FORMAT_B5G6R5_UNORM, GL_UNSIGNED_NORMALIZED, GenerateMip<R5G6B5>, ReadColor<R5G6B5, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_9_1>); AddDXGIFormat(&map, DXGI_FORMAT_B5G6R5_UNORM, GL_UNSIGNED_NORMALIZED, ReadColor<R5G6B5, GLfloat>, RequiresFeatureLevel<D3D_FEATURE_LEVEL_9_1>);
AddDXGIFormat(&map, DXGI_FORMAT_B4G4R4A4_UNORM, GL_UNSIGNED_NORMALIZED, GenerateMip<A4R4G4B4>, ReadColor<A4R4G4B4, GLfloat>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_B4G4R4A4_UNORM, GL_UNSIGNED_NORMALIZED, ReadColor<A4R4G4B4, GLfloat>, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_B5G5R5A1_UNORM, GL_UNSIGNED_NORMALIZED, GenerateMip<A1R5G5B5>, ReadColor<A1R5G5B5, GLfloat>, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_B5G5R5A1_UNORM, GL_UNSIGNED_NORMALIZED, ReadColor<A1R5G5B5, GLfloat>, NeverSupported);
// Useful formats for vertex buffers // Useful formats for vertex buffers
AddDXGIFormat(&map, DXGI_FORMAT_R16_UNORM, GL_UNSIGNED_NORMALIZED, NULL, NULL, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R16_UNORM, GL_UNSIGNED_NORMALIZED, nullptr, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R16_SNORM, GL_SIGNED_NORMALIZED, NULL, NULL, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R16_SNORM, GL_SIGNED_NORMALIZED, nullptr, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R16G16_UNORM, GL_UNSIGNED_NORMALIZED, NULL, NULL, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R16G16_UNORM, GL_UNSIGNED_NORMALIZED, nullptr, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R16G16_SNORM, GL_SIGNED_NORMALIZED, NULL, NULL, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R16G16_SNORM, GL_SIGNED_NORMALIZED, nullptr, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R16G16B16A16_UNORM, GL_UNSIGNED_NORMALIZED, NULL, NULL, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R16G16B16A16_UNORM, GL_UNSIGNED_NORMALIZED, nullptr, NeverSupported);
AddDXGIFormat(&map, DXGI_FORMAT_R16G16B16A16_SNORM, GL_SIGNED_NORMALIZED, NULL, NULL, NeverSupported); AddDXGIFormat(&map, DXGI_FORMAT_R16G16B16A16_SNORM, GL_SIGNED_NORMALIZED, nullptr, NeverSupported);
// clang-format on // clang-format on
return map; return map;
......
...@@ -45,7 +45,6 @@ struct DXGIFormat ...@@ -45,7 +45,6 @@ struct DXGIFormat
GLenum internalFormat; GLenum internalFormat;
GLenum componentType; GLenum componentType;
MipGenerationFunction mipGenerationFunction;
ColorReadFunction colorReadFunction; ColorReadFunction colorReadFunction;
FastCopyFunctionMap fastCopyFunctions; FastCopyFunctionMap fastCopyFunctions;
......
...@@ -52,6 +52,7 @@ template_texture_format_table_autogen_cpp = """// GENERATED FILE - DO NOT EDIT. ...@@ -52,6 +52,7 @@ template_texture_format_table_autogen_cpp = """// GENERATED FILE - DO NOT EDIT.
#include "libANGLE/renderer/d3d/d3d11/formatutils11.h" #include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
#include "libANGLE/renderer/d3d/d3d11/load_functions_table.h" #include "libANGLE/renderer/d3d/d3d11/load_functions_table.h"
#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h" #include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
#include "libANGLE/renderer/d3d/generatemip.h"
#include "libANGLE/renderer/d3d/loadimage.h" #include "libANGLE/renderer/d3d/loadimage.h"
namespace rx namespace rx
...@@ -142,7 +143,8 @@ ANGLEFormatSet::ANGLEFormatSet() ...@@ -142,7 +143,8 @@ ANGLEFormatSet::ANGLEFormatSet()
srvFormat(DXGI_FORMAT_UNKNOWN), srvFormat(DXGI_FORMAT_UNKNOWN),
rtvFormat(DXGI_FORMAT_UNKNOWN), rtvFormat(DXGI_FORMAT_UNKNOWN),
dsvFormat(DXGI_FORMAT_UNKNOWN), dsvFormat(DXGI_FORMAT_UNKNOWN),
swizzleFormat(ANGLE_FORMAT_NONE) swizzleFormat(ANGLE_FORMAT_NONE),
mipGenerationFunction(nullptr)
{{ {{
}} }}
...@@ -170,14 +172,16 @@ ANGLEFormatSet::ANGLEFormatSet(ANGLEFormat format, ...@@ -170,14 +172,16 @@ ANGLEFormatSet::ANGLEFormatSet(ANGLEFormat format,
DXGI_FORMAT srvFormat, DXGI_FORMAT srvFormat,
DXGI_FORMAT rtvFormat, DXGI_FORMAT rtvFormat,
DXGI_FORMAT dsvFormat, DXGI_FORMAT dsvFormat,
ANGLEFormat swizzleFormat) ANGLEFormat swizzleFormat,
MipGenerationFunction mipGenerationFunction)
: format(format), : format(format),
glInternalFormat(glInternalFormat), glInternalFormat(glInternalFormat),
texFormat(texFormat), texFormat(texFormat),
srvFormat(srvFormat), srvFormat(srvFormat),
rtvFormat(rtvFormat), rtvFormat(rtvFormat),
dsvFormat(dsvFormat), dsvFormat(dsvFormat),
swizzleFormat(swizzleFormat) swizzleFormat(swizzleFormat),
mipGenerationFunction(mipGenerationFunction)
{{ {{
}} }}
...@@ -388,6 +392,38 @@ def parse_json_into_switch_texture_format_string(json_map, json_data): ...@@ -388,6 +392,38 @@ def parse_json_into_switch_texture_format_string(json_map, json_data):
return table_data return table_data
def get_channel_struct(angle_format):
if 'bits' not in angle_format:
return None
bits = angle_format['bits']
if 'depth' in bits or 'stencil' in bits:
return None
if 'channelStruct' in angle_format:
return angle_format['channelStruct']
struct_name = ''
for channel in angle_format['channels']:
if channel == 'r':
struct_name += 'R{}'.format(bits['red'])
if channel == 'g':
struct_name += 'G{}'.format(bits['green'])
if channel == 'b':
struct_name += 'B{}'.format(bits['blue'])
if channel == 'a':
struct_name += 'A{}'.format(bits['alpha'])
if angle_format['componentType'] == 'float':
struct_name += 'F'
if angle_format['componentType'] == 'int' or angle_format['componentType'] == 'snorm':
struct_name += 'S'
return struct_name
def get_mip_generation_function(angle_format):
channel_struct = get_channel_struct(angle_format)
if channel_struct == None:
return 'nullptr'
return 'GenerateMip<' + channel_struct + '>'
def parse_json_into_switch_angle_format_string(json_data): def parse_json_into_switch_angle_format_string(json_data):
table_data = '' table_data = ''
for angle_format_item in sorted(json_data.iteritems()): for angle_format_item in sorted(json_data.iteritems()):
...@@ -399,6 +435,7 @@ def parse_json_into_switch_angle_format_string(json_data): ...@@ -399,6 +435,7 @@ def parse_json_into_switch_angle_format_string(json_data):
rtv_format = angle_format["rtvFormat"] if "rtvFormat" in angle_format else "DXGI_FORMAT_UNKNOWN" rtv_format = angle_format["rtvFormat"] if "rtvFormat" in angle_format else "DXGI_FORMAT_UNKNOWN"
dsv_format = angle_format["dsvFormat"] if "dsvFormat" in angle_format else "DXGI_FORMAT_UNKNOWN" 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) swizzle_format = get_swizzle_format_id(angle_format_item[0], angle_format)
mip_generation_function = get_mip_generation_function(angle_format)
table_data += ' {\n' table_data += ' {\n'
table_data += ' static const ANGLEFormatSet formatInfo(' + angle_format_item[0] + ',\n' table_data += ' static const ANGLEFormatSet formatInfo(' + angle_format_item[0] + ',\n'
table_data += ' ' + gl_internal_format + ',\n' table_data += ' ' + gl_internal_format + ',\n'
...@@ -406,7 +443,8 @@ def parse_json_into_switch_angle_format_string(json_data): ...@@ -406,7 +443,8 @@ def parse_json_into_switch_angle_format_string(json_data):
table_data += ' ' + srv_format + ',\n' table_data += ' ' + srv_format + ',\n'
table_data += ' ' + rtv_format + ',\n' table_data += ' ' + rtv_format + ',\n'
table_data += ' ' + dsv_format + ',\n' table_data += ' ' + dsv_format + ',\n'
table_data += ' ' + swizzle_format + ');\n' table_data += ' ' + swizzle_format + ',\n'
table_data += ' ' + mip_generation_function + ');\n'
table_data += ' return formatInfo;\n' table_data += ' return formatInfo;\n'
table_data += ' }\n' table_data += ' }\n'
return table_data return table_data
......
...@@ -424,7 +424,8 @@ ...@@ -424,7 +424,8 @@
"channels": "bgr", "channels": "bgr",
"componentType": "unorm", "componentType": "unorm",
"bits": { "red": 5, "green": 6, "blue": 5 }, "bits": { "red": 5, "green": 6, "blue": 5 },
"glInternalFormat": "GL_RGB565" "glInternalFormat": "GL_RGB565",
"channelStruct": "R5G6B5"
}, },
"ANGLE_FORMAT_B5G5R5A1_UNORM": { "ANGLE_FORMAT_B5G5R5A1_UNORM": {
"texFormat": "DXGI_FORMAT_B5G5R5A1_UNORM", "texFormat": "DXGI_FORMAT_B5G5R5A1_UNORM",
...@@ -433,7 +434,8 @@ ...@@ -433,7 +434,8 @@
"channels": "bgra", "channels": "bgra",
"componentType": "unorm", "componentType": "unorm",
"bits": { "red": 5, "green": 5, "blue": 5, "alpha": 1 }, "bits": { "red": 5, "green": 5, "blue": 5, "alpha": 1 },
"glInternalFormat": "GL_RGB5_A1" "glInternalFormat": "GL_RGB5_A1",
"channelStruct": "A1R5G5B5"
}, },
"ANGLE_FORMAT_R8G8B8A8_SINT": { "ANGLE_FORMAT_R8G8B8A8_SINT": {
"texFormat": "DXGI_FORMAT_R8G8B8A8_SINT", "texFormat": "DXGI_FORMAT_R8G8B8A8_SINT",
...@@ -467,7 +469,8 @@ ...@@ -467,7 +469,8 @@
"channels": "rgb", "channels": "rgb",
"componentType": "float", "componentType": "float",
"bits": { "red": 9, "green": 9, "blue": 9, "shared": 5 }, "bits": { "red": 9, "green": 9, "blue": 9, "shared": 5 },
"glInternalFormat": "GL_RGB9_E5" "glInternalFormat": "GL_RGB9_E5",
"channelStruct": "R9G9B9E5"
}, },
"ANGLE_FORMAT_B4G4R4A4_UNORM": { "ANGLE_FORMAT_B4G4R4A4_UNORM": {
"texFormat": "DXGI_FORMAT_B4G4R4A4_UNORM", "texFormat": "DXGI_FORMAT_B4G4R4A4_UNORM",
...@@ -476,7 +479,8 @@ ...@@ -476,7 +479,8 @@
"channels": "bgra", "channels": "bgra",
"componentType": "unorm", "componentType": "unorm",
"bits": { "red": 4, "green": 4, "blue": 4, "alpha": 4 }, "bits": { "red": 4, "green": 4, "blue": 4, "alpha": 4 },
"glInternalFormat": "GL_RGBA4" "glInternalFormat": "GL_RGBA4",
"channelStruct": "A4R4G4B4"
}, },
"ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB": { "ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB": {
"texFormat": "DXGI_FORMAT_R8G8B8A8_UNORM_SRGB", "texFormat": "DXGI_FORMAT_R8G8B8A8_UNORM_SRGB",
......
...@@ -44,7 +44,8 @@ struct ANGLEFormatSet ...@@ -44,7 +44,8 @@ struct ANGLEFormatSet
DXGI_FORMAT srvFormat, DXGI_FORMAT srvFormat,
DXGI_FORMAT rtvFormat, DXGI_FORMAT rtvFormat,
DXGI_FORMAT dsvFormat, DXGI_FORMAT dsvFormat,
ANGLEFormat swizzleFormat); ANGLEFormat swizzleFormat,
MipGenerationFunction mipGenerationFunction);
ANGLEFormatSet(const ANGLEFormatSet &) = default; ANGLEFormatSet(const ANGLEFormatSet &) = default;
ANGLEFormatSet &operator=(const ANGLEFormatSet &) = default; ANGLEFormatSet &operator=(const ANGLEFormatSet &) = default;
...@@ -60,6 +61,8 @@ struct ANGLEFormatSet ...@@ -60,6 +61,8 @@ struct ANGLEFormatSet
DXGI_FORMAT dsvFormat; DXGI_FORMAT dsvFormat;
ANGLEFormat swizzleFormat; ANGLEFormat swizzleFormat;
MipGenerationFunction mipGenerationFunction;
}; };
struct TextureFormat : public angle::NonCopyable struct TextureFormat : public angle::NonCopyable
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include "libANGLE/renderer/d3d/d3d11/formatutils11.h" #include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
#include "libANGLE/renderer/d3d/d3d11/load_functions_table.h" #include "libANGLE/renderer/d3d/d3d11/load_functions_table.h"
#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h" #include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
#include "libANGLE/renderer/d3d/generatemip.h"
#include "libANGLE/renderer/d3d/loadimage.h" #include "libANGLE/renderer/d3d/loadimage.h"
namespace rx namespace rx
...@@ -104,7 +105,8 @@ ANGLEFormatSet::ANGLEFormatSet() ...@@ -104,7 +105,8 @@ ANGLEFormatSet::ANGLEFormatSet()
srvFormat(DXGI_FORMAT_UNKNOWN), srvFormat(DXGI_FORMAT_UNKNOWN),
rtvFormat(DXGI_FORMAT_UNKNOWN), rtvFormat(DXGI_FORMAT_UNKNOWN),
dsvFormat(DXGI_FORMAT_UNKNOWN), dsvFormat(DXGI_FORMAT_UNKNOWN),
swizzleFormat(ANGLE_FORMAT_NONE) swizzleFormat(ANGLE_FORMAT_NONE),
mipGenerationFunction(nullptr)
{ {
} }
...@@ -132,14 +134,16 @@ ANGLEFormatSet::ANGLEFormatSet(ANGLEFormat format, ...@@ -132,14 +134,16 @@ ANGLEFormatSet::ANGLEFormatSet(ANGLEFormat format,
DXGI_FORMAT srvFormat, DXGI_FORMAT srvFormat,
DXGI_FORMAT rtvFormat, DXGI_FORMAT rtvFormat,
DXGI_FORMAT dsvFormat, DXGI_FORMAT dsvFormat,
ANGLEFormat swizzleFormat) ANGLEFormat swizzleFormat,
MipGenerationFunction mipGenerationFunction)
: format(format), : format(format),
glInternalFormat(glInternalFormat), glInternalFormat(glInternalFormat),
texFormat(texFormat), texFormat(texFormat),
srvFormat(srvFormat), srvFormat(srvFormat),
rtvFormat(rtvFormat), rtvFormat(rtvFormat),
dsvFormat(dsvFormat), dsvFormat(dsvFormat),
swizzleFormat(swizzleFormat) swizzleFormat(swizzleFormat),
mipGenerationFunction(mipGenerationFunction)
{ {
} }
...@@ -156,7 +160,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -156,7 +160,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_A8_UNORM, DXGI_FORMAT_A8_UNORM,
DXGI_FORMAT_A8_UNORM, DXGI_FORMAT_A8_UNORM,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_UNORM); ANGLE_FORMAT_R8G8B8A8_UNORM,
GenerateMip<A8>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_B4G4R4A4_UNORM: case ANGLE_FORMAT_B4G4R4A4_UNORM:
...@@ -167,7 +172,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -167,7 +172,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_B4G4R4A4_UNORM, DXGI_FORMAT_B4G4R4A4_UNORM,
DXGI_FORMAT_B4G4R4A4_UNORM, DXGI_FORMAT_B4G4R4A4_UNORM,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_B4G4R4A4_UNORM); ANGLE_FORMAT_B4G4R4A4_UNORM,
GenerateMip<A4R4G4B4>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_B5G5R5A1_UNORM: case ANGLE_FORMAT_B5G5R5A1_UNORM:
...@@ -178,7 +184,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -178,7 +184,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_B5G5R5A1_UNORM, DXGI_FORMAT_B5G5R5A1_UNORM,
DXGI_FORMAT_B5G5R5A1_UNORM, DXGI_FORMAT_B5G5R5A1_UNORM,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_UNORM); ANGLE_FORMAT_R8G8B8A8_UNORM,
GenerateMip<A1R5G5B5>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_B5G6R5_UNORM: case ANGLE_FORMAT_B5G6R5_UNORM:
...@@ -189,7 +196,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -189,7 +196,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_B5G6R5_UNORM, DXGI_FORMAT_B5G6R5_UNORM,
DXGI_FORMAT_B5G6R5_UNORM, DXGI_FORMAT_B5G6R5_UNORM,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_UNORM); ANGLE_FORMAT_R8G8B8A8_UNORM,
GenerateMip<R5G6B5>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_B8G8R8A8_UNORM: case ANGLE_FORMAT_B8G8R8A8_UNORM:
...@@ -200,7 +208,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -200,7 +208,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_B8G8R8A8_UNORM, DXGI_FORMAT_B8G8R8A8_UNORM,
DXGI_FORMAT_B8G8R8A8_UNORM, DXGI_FORMAT_B8G8R8A8_UNORM,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_B8G8R8A8_UNORM); ANGLE_FORMAT_B8G8R8A8_UNORM,
GenerateMip<B8G8R8A8>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_BC1_UNORM: case ANGLE_FORMAT_BC1_UNORM:
...@@ -211,7 +220,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -211,7 +220,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_BC1_UNORM, DXGI_FORMAT_BC1_UNORM,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_UNORM); ANGLE_FORMAT_R8G8B8A8_UNORM,
nullptr);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_BC2_UNORM: case ANGLE_FORMAT_BC2_UNORM:
...@@ -222,7 +232,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -222,7 +232,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_BC2_UNORM, DXGI_FORMAT_BC2_UNORM,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_UNORM); ANGLE_FORMAT_R8G8B8A8_UNORM,
nullptr);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_BC3_UNORM: case ANGLE_FORMAT_BC3_UNORM:
...@@ -233,7 +244,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -233,7 +244,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_BC3_UNORM, DXGI_FORMAT_BC3_UNORM,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_UNORM); ANGLE_FORMAT_R8G8B8A8_UNORM,
nullptr);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_D16_UNORM_FL10: case ANGLE_FORMAT_D16_UNORM_FL10:
...@@ -244,7 +256,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -244,7 +256,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R16_UNORM, DXGI_FORMAT_R16_UNORM,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_D16_UNORM, DXGI_FORMAT_D16_UNORM,
ANGLE_FORMAT_R16G16B16A16_UNORM); ANGLE_FORMAT_R16G16B16A16_UNORM,
nullptr);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_D16_UNORM_FL9_3: case ANGLE_FORMAT_D16_UNORM_FL9_3:
...@@ -255,7 +268,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -255,7 +268,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_D16_UNORM, DXGI_FORMAT_D16_UNORM,
ANGLE_FORMAT_R16G16B16A16_UNORM); ANGLE_FORMAT_R16G16B16A16_UNORM,
nullptr);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_D24_UNORM_S8_UINT_FL10: case ANGLE_FORMAT_D24_UNORM_S8_UINT_FL10:
...@@ -266,7 +280,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -266,7 +280,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R24_UNORM_X8_TYPELESS, DXGI_FORMAT_R24_UNORM_X8_TYPELESS,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_D24_UNORM_S8_UINT, DXGI_FORMAT_D24_UNORM_S8_UINT,
ANGLE_FORMAT_R32G32B32A32_FLOAT); ANGLE_FORMAT_R32G32B32A32_FLOAT,
nullptr);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_D24_UNORM_S8_UINT_FL9_3: case ANGLE_FORMAT_D24_UNORM_S8_UINT_FL9_3:
...@@ -277,7 +292,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -277,7 +292,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_D24_UNORM_S8_UINT, DXGI_FORMAT_D24_UNORM_S8_UINT,
ANGLE_FORMAT_R32G32B32A32_FLOAT); ANGLE_FORMAT_R32G32B32A32_FLOAT,
nullptr);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_D32_FLOAT: case ANGLE_FORMAT_D32_FLOAT:
...@@ -288,7 +304,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -288,7 +304,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R32_FLOAT, DXGI_FORMAT_R32_FLOAT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_D32_FLOAT, DXGI_FORMAT_D32_FLOAT,
ANGLE_FORMAT_R32G32B32A32_FLOAT); ANGLE_FORMAT_R32G32B32A32_FLOAT,
nullptr);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_D32_FLOAT_S8X24_UINT_FL10: case ANGLE_FORMAT_D32_FLOAT_S8X24_UINT_FL10:
...@@ -299,7 +316,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -299,7 +316,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS, DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_D32_FLOAT_S8X24_UINT, DXGI_FORMAT_D32_FLOAT_S8X24_UINT,
ANGLE_FORMAT_R32G32B32A32_FLOAT); ANGLE_FORMAT_R32G32B32A32_FLOAT,
nullptr);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_NONE: case ANGLE_FORMAT_NONE:
...@@ -310,7 +328,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -310,7 +328,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_NONE); ANGLE_FORMAT_NONE,
nullptr);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R10G10B10A2_UINT: case ANGLE_FORMAT_R10G10B10A2_UINT:
...@@ -321,7 +340,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -321,7 +340,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R10G10B10A2_UINT, DXGI_FORMAT_R10G10B10A2_UINT,
DXGI_FORMAT_R10G10B10A2_UINT, DXGI_FORMAT_R10G10B10A2_UINT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R16G16B16A16_UINT); ANGLE_FORMAT_R16G16B16A16_UINT,
GenerateMip<R10G10B10A2>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R10G10B10A2_UNORM: case ANGLE_FORMAT_R10G10B10A2_UNORM:
...@@ -332,7 +352,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -332,7 +352,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R10G10B10A2_UNORM, DXGI_FORMAT_R10G10B10A2_UNORM,
DXGI_FORMAT_R10G10B10A2_UNORM, DXGI_FORMAT_R10G10B10A2_UNORM,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R16G16B16A16_UNORM); ANGLE_FORMAT_R16G16B16A16_UNORM,
GenerateMip<R10G10B10A2>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R11G11B10_FLOAT: case ANGLE_FORMAT_R11G11B10_FLOAT:
...@@ -343,7 +364,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -343,7 +364,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R11G11B10_FLOAT, DXGI_FORMAT_R11G11B10_FLOAT,
DXGI_FORMAT_R11G11B10_FLOAT, DXGI_FORMAT_R11G11B10_FLOAT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R16G16B16A16_FLOAT); ANGLE_FORMAT_R16G16B16A16_FLOAT,
GenerateMip<R11G11B10F>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R16G16B16A16_FLOAT: case ANGLE_FORMAT_R16G16B16A16_FLOAT:
...@@ -354,7 +376,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -354,7 +376,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R16G16B16A16_FLOAT, DXGI_FORMAT_R16G16B16A16_FLOAT,
DXGI_FORMAT_R16G16B16A16_FLOAT, DXGI_FORMAT_R16G16B16A16_FLOAT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R16G16B16A16_FLOAT); ANGLE_FORMAT_R16G16B16A16_FLOAT,
GenerateMip<R16G16B16A16F>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R16G16B16A16_SINT: case ANGLE_FORMAT_R16G16B16A16_SINT:
...@@ -365,7 +388,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -365,7 +388,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R16G16B16A16_SINT, DXGI_FORMAT_R16G16B16A16_SINT,
DXGI_FORMAT_R16G16B16A16_SINT, DXGI_FORMAT_R16G16B16A16_SINT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R16G16B16A16_SINT); ANGLE_FORMAT_R16G16B16A16_SINT,
GenerateMip<R16G16B16A16S>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R16G16B16A16_UINT: case ANGLE_FORMAT_R16G16B16A16_UINT:
...@@ -376,7 +400,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -376,7 +400,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R16G16B16A16_UINT, DXGI_FORMAT_R16G16B16A16_UINT,
DXGI_FORMAT_R16G16B16A16_UINT, DXGI_FORMAT_R16G16B16A16_UINT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R16G16B16A16_UINT); ANGLE_FORMAT_R16G16B16A16_UINT,
GenerateMip<R16G16B16A16>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R16G16B16A16_UNORM: case ANGLE_FORMAT_R16G16B16A16_UNORM:
...@@ -387,7 +412,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -387,7 +412,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R16G16B16A16_UNORM, DXGI_FORMAT_R16G16B16A16_UNORM,
DXGI_FORMAT_R16G16B16A16_UNORM, DXGI_FORMAT_R16G16B16A16_UNORM,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R16G16B16A16_UNORM); ANGLE_FORMAT_R16G16B16A16_UNORM,
GenerateMip<R16G16B16A16>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R16G16_FLOAT: case ANGLE_FORMAT_R16G16_FLOAT:
...@@ -398,7 +424,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -398,7 +424,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R16G16_FLOAT, DXGI_FORMAT_R16G16_FLOAT,
DXGI_FORMAT_R16G16_FLOAT, DXGI_FORMAT_R16G16_FLOAT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R16G16B16A16_FLOAT); ANGLE_FORMAT_R16G16B16A16_FLOAT,
GenerateMip<R16G16F>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R16G16_SINT: case ANGLE_FORMAT_R16G16_SINT:
...@@ -409,7 +436,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -409,7 +436,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R16G16_SINT, DXGI_FORMAT_R16G16_SINT,
DXGI_FORMAT_R16G16_SINT, DXGI_FORMAT_R16G16_SINT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R16G16B16A16_SINT); ANGLE_FORMAT_R16G16B16A16_SINT,
GenerateMip<R16G16S>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R16G16_UINT: case ANGLE_FORMAT_R16G16_UINT:
...@@ -420,7 +448,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -420,7 +448,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R16G16_UINT, DXGI_FORMAT_R16G16_UINT,
DXGI_FORMAT_R16G16_UINT, DXGI_FORMAT_R16G16_UINT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R16G16B16A16_UINT); ANGLE_FORMAT_R16G16B16A16_UINT,
GenerateMip<R16G16>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R16_FLOAT: case ANGLE_FORMAT_R16_FLOAT:
...@@ -431,7 +460,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -431,7 +460,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R16_FLOAT, DXGI_FORMAT_R16_FLOAT,
DXGI_FORMAT_R16_FLOAT, DXGI_FORMAT_R16_FLOAT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R16G16B16A16_FLOAT); ANGLE_FORMAT_R16G16B16A16_FLOAT,
GenerateMip<R16F>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R16_SINT: case ANGLE_FORMAT_R16_SINT:
...@@ -442,7 +472,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -442,7 +472,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R16_SINT, DXGI_FORMAT_R16_SINT,
DXGI_FORMAT_R16_SINT, DXGI_FORMAT_R16_SINT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R16G16B16A16_SINT); ANGLE_FORMAT_R16G16B16A16_SINT,
GenerateMip<R16S>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R16_UINT: case ANGLE_FORMAT_R16_UINT:
...@@ -453,7 +484,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -453,7 +484,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R16_UINT, DXGI_FORMAT_R16_UINT,
DXGI_FORMAT_R16_UINT, DXGI_FORMAT_R16_UINT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R16G16B16A16_UINT); ANGLE_FORMAT_R16G16B16A16_UINT,
GenerateMip<R16>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R32G32B32A32_FLOAT: case ANGLE_FORMAT_R32G32B32A32_FLOAT:
...@@ -464,7 +496,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -464,7 +496,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R32G32B32A32_FLOAT, DXGI_FORMAT_R32G32B32A32_FLOAT,
DXGI_FORMAT_R32G32B32A32_FLOAT, DXGI_FORMAT_R32G32B32A32_FLOAT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R32G32B32A32_FLOAT); ANGLE_FORMAT_R32G32B32A32_FLOAT,
GenerateMip<R32G32B32A32F>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R32G32B32A32_SINT: case ANGLE_FORMAT_R32G32B32A32_SINT:
...@@ -475,7 +508,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -475,7 +508,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R32G32B32A32_SINT, DXGI_FORMAT_R32G32B32A32_SINT,
DXGI_FORMAT_R32G32B32A32_SINT, DXGI_FORMAT_R32G32B32A32_SINT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R32G32B32A32_SINT); ANGLE_FORMAT_R32G32B32A32_SINT,
GenerateMip<R32G32B32A32S>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R32G32B32A32_UINT: case ANGLE_FORMAT_R32G32B32A32_UINT:
...@@ -486,7 +520,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -486,7 +520,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R32G32B32A32_UINT, DXGI_FORMAT_R32G32B32A32_UINT,
DXGI_FORMAT_R32G32B32A32_UINT, DXGI_FORMAT_R32G32B32A32_UINT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R32G32B32A32_UINT); ANGLE_FORMAT_R32G32B32A32_UINT,
GenerateMip<R32G32B32A32>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R32G32_FLOAT: case ANGLE_FORMAT_R32G32_FLOAT:
...@@ -497,7 +532,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -497,7 +532,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R32G32_FLOAT, DXGI_FORMAT_R32G32_FLOAT,
DXGI_FORMAT_R32G32_FLOAT, DXGI_FORMAT_R32G32_FLOAT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R32G32B32A32_FLOAT); ANGLE_FORMAT_R32G32B32A32_FLOAT,
GenerateMip<R32G32F>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R32G32_SINT: case ANGLE_FORMAT_R32G32_SINT:
...@@ -508,7 +544,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -508,7 +544,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R32G32_SINT, DXGI_FORMAT_R32G32_SINT,
DXGI_FORMAT_R32G32_SINT, DXGI_FORMAT_R32G32_SINT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R32G32B32A32_SINT); ANGLE_FORMAT_R32G32B32A32_SINT,
GenerateMip<R32G32S>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R32G32_UINT: case ANGLE_FORMAT_R32G32_UINT:
...@@ -519,7 +556,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -519,7 +556,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R32G32_UINT, DXGI_FORMAT_R32G32_UINT,
DXGI_FORMAT_R32G32_UINT, DXGI_FORMAT_R32G32_UINT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R32G32B32A32_UINT); ANGLE_FORMAT_R32G32B32A32_UINT,
GenerateMip<R32G32>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R32_FLOAT: case ANGLE_FORMAT_R32_FLOAT:
...@@ -530,7 +568,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -530,7 +568,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R32_FLOAT, DXGI_FORMAT_R32_FLOAT,
DXGI_FORMAT_R32_FLOAT, DXGI_FORMAT_R32_FLOAT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R32G32B32A32_FLOAT); ANGLE_FORMAT_R32G32B32A32_FLOAT,
GenerateMip<R32F>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R32_SINT: case ANGLE_FORMAT_R32_SINT:
...@@ -541,7 +580,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -541,7 +580,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R32_SINT, DXGI_FORMAT_R32_SINT,
DXGI_FORMAT_R32_SINT, DXGI_FORMAT_R32_SINT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R32G32B32A32_SINT); ANGLE_FORMAT_R32G32B32A32_SINT,
GenerateMip<R32S>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R32_UINT: case ANGLE_FORMAT_R32_UINT:
...@@ -552,7 +592,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -552,7 +592,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R32_UINT, DXGI_FORMAT_R32_UINT,
DXGI_FORMAT_R32_UINT, DXGI_FORMAT_R32_UINT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R32G32B32A32_UINT); ANGLE_FORMAT_R32G32B32A32_UINT,
GenerateMip<R32>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R8G8B8A8_SINT: case ANGLE_FORMAT_R8G8B8A8_SINT:
...@@ -563,7 +604,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -563,7 +604,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R8G8B8A8_SINT, DXGI_FORMAT_R8G8B8A8_SINT,
DXGI_FORMAT_R8G8B8A8_SINT, DXGI_FORMAT_R8G8B8A8_SINT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_SINT); ANGLE_FORMAT_R8G8B8A8_SINT,
GenerateMip<R8G8B8A8S>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R8G8B8A8_SNORM: case ANGLE_FORMAT_R8G8B8A8_SNORM:
...@@ -574,7 +616,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -574,7 +616,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R8G8B8A8_SNORM, DXGI_FORMAT_R8G8B8A8_SNORM,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_SNORM); ANGLE_FORMAT_R8G8B8A8_SNORM,
GenerateMip<R8G8B8A8S>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R8G8B8A8_UINT: case ANGLE_FORMAT_R8G8B8A8_UINT:
...@@ -585,7 +628,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -585,7 +628,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R8G8B8A8_UINT, DXGI_FORMAT_R8G8B8A8_UINT,
DXGI_FORMAT_R8G8B8A8_UINT, DXGI_FORMAT_R8G8B8A8_UINT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_UINT); ANGLE_FORMAT_R8G8B8A8_UINT,
GenerateMip<R8G8B8A8>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R8G8B8A8_UNORM: case ANGLE_FORMAT_R8G8B8A8_UNORM:
...@@ -596,7 +640,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -596,7 +640,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_UNORM); ANGLE_FORMAT_R8G8B8A8_UNORM,
GenerateMip<R8G8B8A8>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R8G8B8A8_UNORM_NONRENDERABLE: case ANGLE_FORMAT_R8G8B8A8_UNORM_NONRENDERABLE:
...@@ -607,7 +652,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -607,7 +652,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_UNORM); ANGLE_FORMAT_R8G8B8A8_UNORM,
GenerateMip<R8G8B8A8>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB: case ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB:
...@@ -618,7 +664,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -618,7 +664,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB); ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB,
GenerateMip<R8G8B8A8>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB_NONRENDERABLE: case ANGLE_FORMAT_R8G8B8A8_UNORM_SRGB_NONRENDERABLE:
...@@ -629,7 +676,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -629,7 +676,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_UNORM); ANGLE_FORMAT_R8G8B8A8_UNORM,
GenerateMip<R8G8B8A8>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R8G8_SINT: case ANGLE_FORMAT_R8G8_SINT:
...@@ -640,7 +688,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -640,7 +688,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R8G8_SINT, DXGI_FORMAT_R8G8_SINT,
DXGI_FORMAT_R8G8_SINT, DXGI_FORMAT_R8G8_SINT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_SINT); ANGLE_FORMAT_R8G8B8A8_SINT,
GenerateMip<R8G8S>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R8G8_SNORM: case ANGLE_FORMAT_R8G8_SNORM:
...@@ -651,7 +700,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -651,7 +700,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R8G8_SNORM, DXGI_FORMAT_R8G8_SNORM,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_SNORM); ANGLE_FORMAT_R8G8B8A8_SNORM,
GenerateMip<R8G8S>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R8G8_SNORM_NONRENDERABLE: case ANGLE_FORMAT_R8G8_SNORM_NONRENDERABLE:
...@@ -662,7 +712,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -662,7 +712,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R8G8_SNORM, DXGI_FORMAT_R8G8_SNORM,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_SNORM); ANGLE_FORMAT_R8G8B8A8_SNORM,
GenerateMip<R8G8S>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R8G8_UINT: case ANGLE_FORMAT_R8G8_UINT:
...@@ -673,7 +724,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -673,7 +724,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R8G8_UINT, DXGI_FORMAT_R8G8_UINT,
DXGI_FORMAT_R8G8_UINT, DXGI_FORMAT_R8G8_UINT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_UINT); ANGLE_FORMAT_R8G8B8A8_UINT,
GenerateMip<R8G8>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R8G8_UNORM: case ANGLE_FORMAT_R8G8_UNORM:
...@@ -684,7 +736,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -684,7 +736,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R8G8_UNORM, DXGI_FORMAT_R8G8_UNORM,
DXGI_FORMAT_R8G8_UNORM, DXGI_FORMAT_R8G8_UNORM,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_UNORM); ANGLE_FORMAT_R8G8B8A8_UNORM,
GenerateMip<R8G8>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R8G8_UNORM_NONRENDERABLE: case ANGLE_FORMAT_R8G8_UNORM_NONRENDERABLE:
...@@ -695,7 +748,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -695,7 +748,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R8G8_UNORM, DXGI_FORMAT_R8G8_UNORM,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_UNORM); ANGLE_FORMAT_R8G8B8A8_UNORM,
GenerateMip<R8G8>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R8_SINT: case ANGLE_FORMAT_R8_SINT:
...@@ -706,7 +760,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -706,7 +760,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R8_SINT, DXGI_FORMAT_R8_SINT,
DXGI_FORMAT_R8_SINT, DXGI_FORMAT_R8_SINT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_SINT); ANGLE_FORMAT_R8G8B8A8_SINT,
GenerateMip<R8S>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R8_SNORM: case ANGLE_FORMAT_R8_SNORM:
...@@ -717,7 +772,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -717,7 +772,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R8_SNORM, DXGI_FORMAT_R8_SNORM,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_SNORM); ANGLE_FORMAT_R8G8B8A8_SNORM,
GenerateMip<R8S>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R8_SNORM_NONRENDERABLE: case ANGLE_FORMAT_R8_SNORM_NONRENDERABLE:
...@@ -728,7 +784,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -728,7 +784,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R8_SNORM, DXGI_FORMAT_R8_SNORM,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_SNORM); ANGLE_FORMAT_R8G8B8A8_SNORM,
GenerateMip<R8S>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R8_UINT: case ANGLE_FORMAT_R8_UINT:
...@@ -739,7 +796,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -739,7 +796,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R8_UINT, DXGI_FORMAT_R8_UINT,
DXGI_FORMAT_R8_UINT, DXGI_FORMAT_R8_UINT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_UINT); ANGLE_FORMAT_R8G8B8A8_UINT,
GenerateMip<R8>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R8_UNORM: case ANGLE_FORMAT_R8_UNORM:
...@@ -750,7 +808,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -750,7 +808,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_UNORM,
DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_UNORM,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_UNORM); ANGLE_FORMAT_R8G8B8A8_UNORM,
GenerateMip<R8>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R8_UNORM_NONRENDERABLE: case ANGLE_FORMAT_R8_UNORM_NONRENDERABLE:
...@@ -761,7 +820,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -761,7 +820,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_UNORM,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R8G8B8A8_UNORM); ANGLE_FORMAT_R8G8B8A8_UNORM,
GenerateMip<R8>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_R9G9B9E5_SHAREDEXP: case ANGLE_FORMAT_R9G9B9E5_SHAREDEXP:
...@@ -772,7 +832,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -772,7 +832,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_R9G9B9E5_SHAREDEXP, DXGI_FORMAT_R9G9B9E5_SHAREDEXP,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
ANGLE_FORMAT_R16G16B16A16_FLOAT); ANGLE_FORMAT_R16G16B16A16_FLOAT,
GenerateMip<R9G9B9E5>);
return formatInfo; return formatInfo;
} }
case ANGLE_FORMAT_X24_TYPELESS_G8_UINT: case ANGLE_FORMAT_X24_TYPELESS_G8_UINT:
...@@ -783,7 +844,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat) ...@@ -783,7 +844,8 @@ const ANGLEFormatSet &GetANGLEFormatSet(ANGLEFormat angleFormat)
DXGI_FORMAT_X24_TYPELESS_G8_UINT, DXGI_FORMAT_X24_TYPELESS_G8_UINT,
DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN,
DXGI_FORMAT_D24_UNORM_S8_UINT, DXGI_FORMAT_D24_UNORM_S8_UINT,
ANGLE_FORMAT_R32G32B32A32_FLOAT); ANGLE_FORMAT_R32G32B32A32_FLOAT,
nullptr);
return formatInfo; return formatInfo;
} }
......
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