Added support for EXT_texture_rg in D3D9 and D3D11.
TRAC #22423
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
diff --git a/src/libGLESv2/renderer/d3d11/Renderer11.cpp b/src/libGLESv2/renderer/d3d11/Renderer11.cpp
index 4e4a1b9..2a57bee 100644
--- a/src/libGLESv2/renderer/d3d11/Renderer11.cpp
+++ b/src/libGLESv2/renderer/d3d11/Renderer11.cpp
@@ -316,6 +316,31 @@
}
}
+ DXGI_FORMAT rgTextureFormats[] =
+ {
+ DXGI_FORMAT_R8_UNORM,
+ DXGI_FORMAT_R8G8_UNORM,
+ DXGI_FORMAT_R16_FLOAT,
+ DXGI_FORMAT_R16G16_FLOAT,
+ DXGI_FORMAT_R32_FLOAT,
+ DXGI_FORMAT_R32G32_FLOAT,
+ };
+
+ mRGTextureSupport = true;
+ for (unsigned int i = 0; i < ArraySize(rgTextureFormats); i++)
+ {
+ if (SUCCEEDED(mDevice->CheckFormatSupport(rgTextureFormats[i], &formatSupport)))
+ {
+ mRGTextureSupport = mRGTextureSupport && (formatSupport & requiredTextureFlags) == requiredTextureFlags;
+ mRGTextureSupport = mRGTextureSupport && (formatSupport & requiredFilterFlags) == requiredFilterFlags;
+ mRGTextureSupport = mRGTextureSupport && (formatSupport & requiredRenderableFlags) == requiredRenderableFlags;
+ }
+ else
+ {
+ mRGTextureSupport = false;
+ }
+ }
+
// Check compressed texture support
const unsigned int requiredCompressedTextureFlags = D3D11_FORMAT_SUPPORT_TEXTURE2D;
@@ -1871,6 +1896,11 @@
return false;
}
+bool Renderer11::getRGTextureSupport() const
+{
+ return mRGTextureSupport;
+}
+
bool Renderer11::getTextureFilterAnisotropySupport() const
{
return true;