Added hack for WINED3DFMT_R24_UNORM_X8_TYPELESS format.

This commit is contained in:
Sebastian Lackner 2016-09-04 21:23:54 +02:00
parent e2e200361f
commit bf90df4eed
3 changed files with 31 additions and 2 deletions

View File

@ -7476,8 +7476,10 @@ fi
# |
if test "$enable_wined3d_WINED3DFMT_R32G32_UINT" -eq 1; then
patch_apply wined3d-WINED3DFMT_R32G32_UINT/0001-wined3d-Add-WINED3DFMT_R32G32_-U-S-INT-as-render-tar.patch
patch_apply wined3d-WINED3DFMT_R32G32_UINT/0002-wined3d-Add-hack-for-WINED3DFMT_R24_UNORM_X8_TYPELES.patch
(
echo '+ { "Michael Müller", "wined3d: Add WINED3DFMT_R32G32_{U,S}INT as render target format.", 1 },';
echo '+ { "Michael Müller", "wined3d: Add hack for WINED3DFMT_R24_UNORM_X8_TYPELESS.", 1 },';
) >> "$patchlist"
fi

View File

@ -8027,7 +8027,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -4539,7 +4539,11 @@ void get_projection_matrix(const struct wined3d_context *context, const struct w
@@ -4543,7 +4543,11 @@ void get_projection_matrix(const struct wined3d_context *context, const struct w
float y_offset = context->render_offscreen
? (center_offset - (2.0f * y) - h) / h
: (center_offset - (2.0f * y) - h) / -h;
@ -8039,7 +8039,7 @@ diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
state->render_states[WINED3D_RS_ZENABLE] : WINED3D_ZB_FALSE;
float z_scale = zenable ? 2.0f : 0.0f;
float z_offset = zenable ? -1.0f : 0.0f;
@@ -5336,7 +5340,11 @@ void gen_ffp_frag_op(const struct wined3d_context *context, const struct wined3d
@@ -5340,7 +5344,11 @@ void gen_ffp_frag_op(const struct wined3d_context *context, const struct wined3d
break;
}
}

View File

@ -0,0 +1,27 @@
From 41dabd934d1afb8160622f13d95b83ef63beacd0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 4 Sep 2016 20:58:52 +0200
Subject: wined3d: Add hack for WINED3DFMT_R24_UNORM_X8_TYPELESS.
---
dlls/wined3d/utils.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index cf909de..d31b002 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -1517,6 +1517,10 @@ static const struct wined3d_format_texture_info format_texture_info[] =
GL_RGBA_INTEGER, GL_INT, 0,
WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_RENDERTARGET,
EXT_TEXTURE_INTEGER, NULL},
+ {WINED3DFMT_R24_UNORM_X8_TYPELESS, GL_DEPTH_COMPONENT24_ARB, GL_DEPTH_COMPONENT24_ARB, 0,
+ GL_DEPTH_COMPONENT, GL_UNSIGNED_INT_24_8, 0,
+ WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_DEPTH,
+ ARB_DEPTH_TEXTURE, NULL},
/* Vendor-specific formats */
{WINED3DFMT_ATI1N, GL_COMPRESSED_RED_RGTC1, GL_COMPRESSED_RED_RGTC1, 0,
GL_RED, GL_UNSIGNED_BYTE, 0,
--
2.9.0