[PATCH 4/6] wined3d: Add support for WINED3DFMT_D32_FLOAT_S8X24_UINT format.
Józef Kucia
jkucia at codeweavers.com
Thu Dec 1 06:56:35 CST 2016
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
dlls/d3d10core/tests/device.c | 2 +-
dlls/d3d11/tests/d3d11.c | 2 +-
dlls/wined3d/utils.c | 144 ++++++++++++++++++++++--------------------
3 files changed, 78 insertions(+), 70 deletions(-)
diff --git a/dlls/d3d10core/tests/device.c b/dlls/d3d10core/tests/device.c
index eb61adb..aad9184 100644
--- a/dlls/d3d10core/tests/device.c
+++ b/dlls/d3d10core/tests/device.c
@@ -1225,7 +1225,7 @@ static void test_create_texture2d(void)
{DXGI_FORMAT_R16G16B16A16_TYPELESS, 1, D3D10_BIND_SHADER_RESOURCE, 0, TRUE, FALSE},
{DXGI_FORMAT_R16G16B16A16_TYPELESS, 1, D3D10_BIND_RENDER_TARGET, 0, TRUE, FALSE},
{DXGI_FORMAT_R32G32_TYPELESS, 1, D3D10_BIND_SHADER_RESOURCE, 0, TRUE, FALSE},
- {DXGI_FORMAT_R32G8X24_TYPELESS, 1, D3D10_BIND_DEPTH_STENCIL, 0, TRUE, TRUE},
+ {DXGI_FORMAT_R32G8X24_TYPELESS, 1, D3D10_BIND_DEPTH_STENCIL, 0, TRUE, FALSE},
{DXGI_FORMAT_R10G10B10A2_TYPELESS, 1, D3D10_BIND_SHADER_RESOURCE, 0, TRUE, FALSE},
{DXGI_FORMAT_R10G10B10A2_TYPELESS, 1, D3D10_BIND_RENDER_TARGET, 0, TRUE, FALSE},
{DXGI_FORMAT_R16G16_TYPELESS, 1, D3D10_BIND_SHADER_RESOURCE, 0, TRUE, FALSE},
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c
index 0a31f96..43f6161 100644
--- a/dlls/d3d11/tests/d3d11.c
+++ b/dlls/d3d11/tests/d3d11.c
@@ -1630,7 +1630,7 @@ static void test_create_texture2d(void)
{DXGI_FORMAT_R16G16B16A16_TYPELESS, 1, D3D11_BIND_SHADER_RESOURCE, 0, TRUE, FALSE},
{DXGI_FORMAT_R16G16B16A16_TYPELESS, 1, D3D11_BIND_RENDER_TARGET, 0, TRUE, FALSE},
{DXGI_FORMAT_R32G32_TYPELESS, 1, D3D11_BIND_SHADER_RESOURCE, 0, TRUE, FALSE},
- {DXGI_FORMAT_R32G8X24_TYPELESS, 1, D3D11_BIND_DEPTH_STENCIL, 0, TRUE, TRUE},
+ {DXGI_FORMAT_R32G8X24_TYPELESS, 1, D3D11_BIND_DEPTH_STENCIL, 0, TRUE, FALSE},
{DXGI_FORMAT_R10G10B10A2_TYPELESS, 1, D3D11_BIND_SHADER_RESOURCE, 0, TRUE, FALSE},
{DXGI_FORMAT_R10G10B10A2_TYPELESS, 1, D3D11_BIND_RENDER_TARGET, 0, TRUE, FALSE},
{DXGI_FORMAT_R16G16_TYPELESS, 1, D3D11_BIND_SHADER_RESOURCE, 0, TRUE, FALSE},
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index 32de49e..609f415 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -208,69 +208,72 @@ struct wined3d_typed_format_info
*/
static const struct wined3d_typed_format_info typed_formats[] =
{
- {WINED3DFMT_R32G32B32A32_UINT, WINED3DFMT_R32G32B32A32_TYPELESS, "UUUU"},
- {WINED3DFMT_R32G32B32A32_SINT, WINED3DFMT_R32G32B32A32_TYPELESS, "IIII"},
- {WINED3DFMT_R32G32B32A32_FLOAT, WINED3DFMT_R32G32B32A32_TYPELESS, "FFFF"},
- {WINED3DFMT_R32G32B32_UINT, WINED3DFMT_R32G32B32_TYPELESS, "UUU"},
- {WINED3DFMT_R32G32B32_SINT, WINED3DFMT_R32G32B32_TYPELESS, "III"},
- {WINED3DFMT_R32G32B32_FLOAT, WINED3DFMT_R32G32B32_TYPELESS, "FFF"},
- {WINED3DFMT_R16G16B16A16_UNORM, WINED3DFMT_R16G16B16A16_TYPELESS, "uuuu"},
- {WINED3DFMT_R16G16B16A16_SNORM, WINED3DFMT_R16G16B16A16_TYPELESS, "iiii"},
- {WINED3DFMT_R16G16B16A16_UINT, WINED3DFMT_R16G16B16A16_TYPELESS, "UUUU"},
- {WINED3DFMT_R16G16B16A16_SINT, WINED3DFMT_R16G16B16A16_TYPELESS, "IIII"},
- {WINED3DFMT_R16G16B16A16_FLOAT, WINED3DFMT_R16G16B16A16_TYPELESS, "FFFF"},
- {WINED3DFMT_R32G32_UINT, WINED3DFMT_R32G32_TYPELESS, "UU"},
- {WINED3DFMT_R32G32_SINT, WINED3DFMT_R32G32_TYPELESS, "II"},
- {WINED3DFMT_R32G32_FLOAT, WINED3DFMT_R32G32_TYPELESS, "FF"},
- {WINED3DFMT_R10G10B10A2_SNORM, WINED3DFMT_R10G10B10A2_TYPELESS, "iiii"},
- {WINED3DFMT_R10G10B10A2_UINT, WINED3DFMT_R10G10B10A2_TYPELESS, "UUUU"},
- {WINED3DFMT_R10G10B10A2_UNORM, WINED3DFMT_R10G10B10A2_TYPELESS, "uuuu"},
- {WINED3DFMT_R8G8B8A8_UINT, WINED3DFMT_R8G8B8A8_TYPELESS, "UUUU"},
- {WINED3DFMT_R8G8B8A8_SINT, WINED3DFMT_R8G8B8A8_TYPELESS, "IIII"},
- {WINED3DFMT_R8G8B8A8_UNORM_SRGB, WINED3DFMT_R8G8B8A8_TYPELESS, "uuuu"},
- {WINED3DFMT_R8G8B8A8_UNORM, WINED3DFMT_R8G8B8A8_TYPELESS, "uuuu"},
- {WINED3DFMT_R16G16_UNORM, WINED3DFMT_R16G16_TYPELESS, "uu"},
- {WINED3DFMT_R16G16_SNORM, WINED3DFMT_R16G16_TYPELESS, "ii"},
- {WINED3DFMT_R16G16_UINT, WINED3DFMT_R16G16_TYPELESS, "UU"},
- {WINED3DFMT_R16G16_SINT, WINED3DFMT_R16G16_TYPELESS, "II"},
- {WINED3DFMT_R16G16_FLOAT, WINED3DFMT_R16G16_TYPELESS, "FF"},
- {WINED3DFMT_R32_UINT, WINED3DFMT_R32_TYPELESS, "U"},
- {WINED3DFMT_R32_SINT, WINED3DFMT_R32_TYPELESS, "I"},
- {WINED3DFMT_R32_FLOAT, WINED3DFMT_R32_TYPELESS, "F"},
- {WINED3DFMT_D32_FLOAT, WINED3DFMT_R32_TYPELESS, "D"},
- {WINED3DFMT_R24_UNORM_X8_TYPELESS, WINED3DFMT_R24G8_TYPELESS, "DX"},
- {WINED3DFMT_X24_TYPELESS_G8_UINT, WINED3DFMT_R24G8_TYPELESS, "XS"},
- {WINED3DFMT_D24_UNORM_S8_UINT, WINED3DFMT_R24G8_TYPELESS, "DS"},
- {WINED3DFMT_R8G8_SNORM, WINED3DFMT_R8G8_TYPELESS, "ii"},
- {WINED3DFMT_R8G8_UNORM, WINED3DFMT_R8G8_TYPELESS, "uu"},
- {WINED3DFMT_R8G8_UINT, WINED3DFMT_R8G8_TYPELESS, "UU"},
- {WINED3DFMT_R8G8_SINT, WINED3DFMT_R8G8_TYPELESS, "II"},
- {WINED3DFMT_R16_UNORM, WINED3DFMT_R16_TYPELESS, "u"},
- {WINED3DFMT_R16_SNORM, WINED3DFMT_R16_TYPELESS, "i"},
- {WINED3DFMT_R16_UINT, WINED3DFMT_R16_TYPELESS, "U"},
- {WINED3DFMT_R16_SINT, WINED3DFMT_R16_TYPELESS, "I"},
- {WINED3DFMT_R16_FLOAT, WINED3DFMT_R16_TYPELESS, "F"},
- {WINED3DFMT_D16_UNORM, WINED3DFMT_R16_TYPELESS, "D"},
- {WINED3DFMT_R8_UNORM, WINED3DFMT_R8_TYPELESS, "u"},
- {WINED3DFMT_R8_SNORM, WINED3DFMT_R8_TYPELESS, "i"},
- {WINED3DFMT_R8_UINT, WINED3DFMT_R8_TYPELESS, "U"},
- {WINED3DFMT_R8_SINT, WINED3DFMT_R8_TYPELESS, "I"},
- {WINED3DFMT_BC1_UNORM_SRGB, WINED3DFMT_BC1_TYPELESS, ""},
- {WINED3DFMT_BC1_UNORM, WINED3DFMT_BC1_TYPELESS, ""},
- {WINED3DFMT_BC2_UNORM_SRGB, WINED3DFMT_BC2_TYPELESS, ""},
- {WINED3DFMT_BC2_UNORM, WINED3DFMT_BC2_TYPELESS, ""},
- {WINED3DFMT_BC3_UNORM_SRGB, WINED3DFMT_BC3_TYPELESS, ""},
- {WINED3DFMT_BC3_UNORM, WINED3DFMT_BC3_TYPELESS, ""},
- {WINED3DFMT_BC4_UNORM, WINED3DFMT_BC4_TYPELESS, ""},
- {WINED3DFMT_BC5_UNORM, WINED3DFMT_BC5_TYPELESS, ""},
- {WINED3DFMT_BC6H_UF16, WINED3DFMT_BC6H_TYPELESS, ""},
- {WINED3DFMT_BC6H_SF16, WINED3DFMT_BC6H_TYPELESS, ""},
- {WINED3DFMT_BC7_UNORM_SRGB, WINED3DFMT_BC7_TYPELESS, ""},
- {WINED3DFMT_BC7_UNORM, WINED3DFMT_BC7_TYPELESS, ""},
- {WINED3DFMT_B8G8R8A8_UNORM_SRGB, WINED3DFMT_B8G8R8A8_TYPELESS, "uuuu"},
- {WINED3DFMT_B8G8R8A8_UNORM, WINED3DFMT_B8G8R8A8_TYPELESS, "uuuu"},
- {WINED3DFMT_B8G8R8X8_UNORM_SRGB, WINED3DFMT_B8G8R8X8_TYPELESS, "uuuX"},
- {WINED3DFMT_B8G8R8X8_UNORM, WINED3DFMT_B8G8R8X8_TYPELESS, "uuuX"},
+ {WINED3DFMT_R32G32B32A32_UINT, WINED3DFMT_R32G32B32A32_TYPELESS, "UUUU"},
+ {WINED3DFMT_R32G32B32A32_SINT, WINED3DFMT_R32G32B32A32_TYPELESS, "IIII"},
+ {WINED3DFMT_R32G32B32A32_FLOAT, WINED3DFMT_R32G32B32A32_TYPELESS, "FFFF"},
+ {WINED3DFMT_R32G32B32_UINT, WINED3DFMT_R32G32B32_TYPELESS, "UUU"},
+ {WINED3DFMT_R32G32B32_SINT, WINED3DFMT_R32G32B32_TYPELESS, "III"},
+ {WINED3DFMT_R32G32B32_FLOAT, WINED3DFMT_R32G32B32_TYPELESS, "FFF"},
+ {WINED3DFMT_R16G16B16A16_UNORM, WINED3DFMT_R16G16B16A16_TYPELESS, "uuuu"},
+ {WINED3DFMT_R16G16B16A16_SNORM, WINED3DFMT_R16G16B16A16_TYPELESS, "iiii"},
+ {WINED3DFMT_R16G16B16A16_UINT, WINED3DFMT_R16G16B16A16_TYPELESS, "UUUU"},
+ {WINED3DFMT_R16G16B16A16_SINT, WINED3DFMT_R16G16B16A16_TYPELESS, "IIII"},
+ {WINED3DFMT_R16G16B16A16_FLOAT, WINED3DFMT_R16G16B16A16_TYPELESS, "FFFF"},
+ {WINED3DFMT_R32G32_UINT, WINED3DFMT_R32G32_TYPELESS, "UU"},
+ {WINED3DFMT_R32G32_SINT, WINED3DFMT_R32G32_TYPELESS, "II"},
+ {WINED3DFMT_R32G32_FLOAT, WINED3DFMT_R32G32_TYPELESS, "FF"},
+ {WINED3DFMT_R32_FLOAT_X8X24_TYPELESS, WINED3DFMT_R32G8X24_TYPELESS, "DX"},
+ {WINED3DFMT_X32_TYPELESS_G8X24_UINT, WINED3DFMT_R32G8X24_TYPELESS, "XS"},
+ {WINED3DFMT_D32_FLOAT_S8X24_UINT, WINED3DFMT_R32G8X24_TYPELESS, "DS"},
+ {WINED3DFMT_R10G10B10A2_SNORM, WINED3DFMT_R10G10B10A2_TYPELESS, "iiii"},
+ {WINED3DFMT_R10G10B10A2_UINT, WINED3DFMT_R10G10B10A2_TYPELESS, "UUUU"},
+ {WINED3DFMT_R10G10B10A2_UNORM, WINED3DFMT_R10G10B10A2_TYPELESS, "uuuu"},
+ {WINED3DFMT_R8G8B8A8_UINT, WINED3DFMT_R8G8B8A8_TYPELESS, "UUUU"},
+ {WINED3DFMT_R8G8B8A8_SINT, WINED3DFMT_R8G8B8A8_TYPELESS, "IIII"},
+ {WINED3DFMT_R8G8B8A8_UNORM_SRGB, WINED3DFMT_R8G8B8A8_TYPELESS, "uuuu"},
+ {WINED3DFMT_R8G8B8A8_UNORM, WINED3DFMT_R8G8B8A8_TYPELESS, "uuuu"},
+ {WINED3DFMT_R16G16_UNORM, WINED3DFMT_R16G16_TYPELESS, "uu"},
+ {WINED3DFMT_R16G16_SNORM, WINED3DFMT_R16G16_TYPELESS, "ii"},
+ {WINED3DFMT_R16G16_UINT, WINED3DFMT_R16G16_TYPELESS, "UU"},
+ {WINED3DFMT_R16G16_SINT, WINED3DFMT_R16G16_TYPELESS, "II"},
+ {WINED3DFMT_R16G16_FLOAT, WINED3DFMT_R16G16_TYPELESS, "FF"},
+ {WINED3DFMT_R32_UINT, WINED3DFMT_R32_TYPELESS, "U"},
+ {WINED3DFMT_R32_SINT, WINED3DFMT_R32_TYPELESS, "I"},
+ {WINED3DFMT_R32_FLOAT, WINED3DFMT_R32_TYPELESS, "F"},
+ {WINED3DFMT_D32_FLOAT, WINED3DFMT_R32_TYPELESS, "D"},
+ {WINED3DFMT_R24_UNORM_X8_TYPELESS, WINED3DFMT_R24G8_TYPELESS, "DX"},
+ {WINED3DFMT_X24_TYPELESS_G8_UINT, WINED3DFMT_R24G8_TYPELESS, "XS"},
+ {WINED3DFMT_D24_UNORM_S8_UINT, WINED3DFMT_R24G8_TYPELESS, "DS"},
+ {WINED3DFMT_R8G8_SNORM, WINED3DFMT_R8G8_TYPELESS, "ii"},
+ {WINED3DFMT_R8G8_UNORM, WINED3DFMT_R8G8_TYPELESS, "uu"},
+ {WINED3DFMT_R8G8_UINT, WINED3DFMT_R8G8_TYPELESS, "UU"},
+ {WINED3DFMT_R8G8_SINT, WINED3DFMT_R8G8_TYPELESS, "II"},
+ {WINED3DFMT_R16_UNORM, WINED3DFMT_R16_TYPELESS, "u"},
+ {WINED3DFMT_R16_SNORM, WINED3DFMT_R16_TYPELESS, "i"},
+ {WINED3DFMT_R16_UINT, WINED3DFMT_R16_TYPELESS, "U"},
+ {WINED3DFMT_R16_SINT, WINED3DFMT_R16_TYPELESS, "I"},
+ {WINED3DFMT_R16_FLOAT, WINED3DFMT_R16_TYPELESS, "F"},
+ {WINED3DFMT_D16_UNORM, WINED3DFMT_R16_TYPELESS, "D"},
+ {WINED3DFMT_R8_UNORM, WINED3DFMT_R8_TYPELESS, "u"},
+ {WINED3DFMT_R8_SNORM, WINED3DFMT_R8_TYPELESS, "i"},
+ {WINED3DFMT_R8_UINT, WINED3DFMT_R8_TYPELESS, "U"},
+ {WINED3DFMT_R8_SINT, WINED3DFMT_R8_TYPELESS, "I"},
+ {WINED3DFMT_BC1_UNORM_SRGB, WINED3DFMT_BC1_TYPELESS, ""},
+ {WINED3DFMT_BC1_UNORM, WINED3DFMT_BC1_TYPELESS, ""},
+ {WINED3DFMT_BC2_UNORM_SRGB, WINED3DFMT_BC2_TYPELESS, ""},
+ {WINED3DFMT_BC2_UNORM, WINED3DFMT_BC2_TYPELESS, ""},
+ {WINED3DFMT_BC3_UNORM_SRGB, WINED3DFMT_BC3_TYPELESS, ""},
+ {WINED3DFMT_BC3_UNORM, WINED3DFMT_BC3_TYPELESS, ""},
+ {WINED3DFMT_BC4_UNORM, WINED3DFMT_BC4_TYPELESS, ""},
+ {WINED3DFMT_BC5_UNORM, WINED3DFMT_BC5_TYPELESS, ""},
+ {WINED3DFMT_BC6H_UF16, WINED3DFMT_BC6H_TYPELESS, ""},
+ {WINED3DFMT_BC6H_SF16, WINED3DFMT_BC6H_TYPELESS, ""},
+ {WINED3DFMT_BC7_UNORM_SRGB, WINED3DFMT_BC7_TYPELESS, ""},
+ {WINED3DFMT_BC7_UNORM, WINED3DFMT_BC7_TYPELESS, ""},
+ {WINED3DFMT_B8G8R8A8_UNORM_SRGB, WINED3DFMT_B8G8R8A8_TYPELESS, "uuuu"},
+ {WINED3DFMT_B8G8R8A8_UNORM, WINED3DFMT_B8G8R8A8_TYPELESS, "uuuu"},
+ {WINED3DFMT_B8G8R8X8_UNORM_SRGB, WINED3DFMT_B8G8R8X8_TYPELESS, "uuuX"},
+ {WINED3DFMT_B8G8R8X8_UNORM, WINED3DFMT_B8G8R8X8_TYPELESS, "uuuX"},
};
struct wined3d_format_ddi_info
@@ -303,11 +306,12 @@ struct wined3d_format_base_flags
* resource size. */
static const struct wined3d_format_base_flags format_base_flags[] =
{
- {WINED3DFMT_ATI1N, WINED3DFMT_FLAG_BROKEN_PITCH},
- {WINED3DFMT_ATI2N, WINED3DFMT_FLAG_BROKEN_PITCH},
- {WINED3DFMT_R11G11B10_FLOAT, WINED3DFMT_FLAG_FLOAT},
- {WINED3DFMT_D32_FLOAT, WINED3DFMT_FLAG_FLOAT},
- {WINED3DFMT_S8_UINT_D24_FLOAT, WINED3DFMT_FLAG_FLOAT},
+ {WINED3DFMT_ATI1N, WINED3DFMT_FLAG_BROKEN_PITCH},
+ {WINED3DFMT_ATI2N, WINED3DFMT_FLAG_BROKEN_PITCH},
+ {WINED3DFMT_R11G11B10_FLOAT, WINED3DFMT_FLAG_FLOAT},
+ {WINED3DFMT_D32_FLOAT, WINED3DFMT_FLAG_FLOAT},
+ {WINED3DFMT_S8_UINT_D24_FLOAT, WINED3DFMT_FLAG_FLOAT},
+ {WINED3DFMT_D32_FLOAT_S8X24_UINT, WINED3DFMT_FLAG_FLOAT},
};
struct wined3d_format_block_info
@@ -1575,6 +1579,10 @@ static const struct wined3d_format_texture_info format_texture_info[] =
GL_DEPTH_COMPONENT, GL_FLOAT, 0,
WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_SHADOW,
ARB_DEPTH_BUFFER_FLOAT, NULL},
+ {WINED3DFMT_D32_FLOAT_S8X24_UINT, GL_DEPTH32F_STENCIL8, GL_DEPTH32F_STENCIL8, 0,
+ GL_DEPTH_STENCIL, GL_FLOAT_32_UNSIGNED_INT_24_8_REV, 0,
+ WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_STENCIL | WINED3DFMT_FLAG_SHADOW,
+ ARB_DEPTH_BUFFER_FLOAT, NULL},
{WINED3DFMT_S8_UINT_D24_FLOAT, GL_DEPTH32F_STENCIL8, GL_DEPTH32F_STENCIL8, 0,
GL_DEPTH_STENCIL, GL_FLOAT_32_UNSIGNED_INT_24_8_REV, 8,
WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_STENCIL | WINED3DFMT_FLAG_SHADOW,
--
2.7.3
More information about the wine-patches
mailing list