Matteo Bruni : wined3d: Restore support for d3d9 extension formats.
Alexandre Julliard
julliard at winehq.org
Mon Sep 11 15:07:59 CDT 2017
Module: wine
Branch: master
Commit: 6b98d3ebf1af1f55d00b66008bd9b37de5880def
URL: http://source.winehq.org/git/wine.git/?a=commit;h=6b98d3ebf1af1f55d00b66008bd9b37de5880def
Author: Matteo Bruni <mbruni at codeweavers.com>
Date: Fri Sep 8 18:44:07 2017 +0200
wined3d: Restore support for d3d9 extension formats.
Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/wined3d/directx.c | 7 +++++++
dlls/wined3d/utils.c | 4 ++++
dlls/wined3d/wined3d_private.h | 1 +
3 files changed, 12 insertions(+)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index e30430a..0cd784c 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -5220,6 +5220,13 @@ static BOOL wined3d_check_surface_capability(const struct wined3d_format *format
return TRUE;
}
+ if ((format->flags[WINED3D_GL_RES_TYPE_TEX_2D] & (WINED3DFMT_FLAG_EXTENSION | WINED3DFMT_FLAG_TEXTURE))
+ == (WINED3DFMT_FLAG_EXTENSION | WINED3DFMT_FLAG_TEXTURE))
+ {
+ TRACE("[OK]\n");
+ return TRUE;
+ }
+
/* Reject other formats */
TRACE("[FAILED]\n");
return FALSE;
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index 1c64606..4c878b6 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -333,6 +333,10 @@ static const struct wined3d_format_base_flags format_base_flags[] =
{WINED3DFMT_D32_FLOAT, WINED3DFMT_FLAG_FLOAT},
{WINED3DFMT_S8_UINT_D24_FLOAT, WINED3DFMT_FLAG_FLOAT},
{WINED3DFMT_D32_FLOAT_S8X24_UINT, WINED3DFMT_FLAG_FLOAT},
+ {WINED3DFMT_INST, WINED3DFMT_FLAG_EXTENSION},
+ {WINED3DFMT_NULL, WINED3DFMT_FLAG_EXTENSION},
+ {WINED3DFMT_NVDB, WINED3DFMT_FLAG_EXTENSION},
+ {WINED3DFMT_RESZ, WINED3DFMT_FLAG_EXTENSION},
};
struct wined3d_format_block_info
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index e12f2a6..70120e8 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -4114,6 +4114,7 @@ extern enum wined3d_format_id pixelformat_for_depth(DWORD depth) DECLSPEC_HIDDEN
#define WINED3DFMT_FLAG_DEPTH 0x00000004
#define WINED3DFMT_FLAG_STENCIL 0x00000008
#define WINED3DFMT_FLAG_RENDERTARGET 0x00000010
+#define WINED3DFMT_FLAG_EXTENSION 0x00000020
#define WINED3DFMT_FLAG_FBO_ATTACHABLE 0x00000040
#define WINED3DFMT_FLAG_FBO_ATTACHABLE_SRGB 0x00000080
#define WINED3DFMT_FLAG_FLOAT 0x00000200
More information about the wine-cvs
mailing list