Andrey Gusev : wined3d: Add WINED3DFMT_R16_FLOAT vertex format.

Alexandre Julliard julliard at winehq.org
Fri Nov 19 15:45:32 CST 2021


Module: wine
Branch: master
Commit: 4f3d189f539ea0c9831ca3a19b49e21220830574
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=4f3d189f539ea0c9831ca3a19b49e21220830574

Author: Andrey Gusev <andrey.goosev at gmail.com>
Date:   Fri Nov 19 14:37:21 2021 +0100

wined3d: Add WINED3DFMT_R16_FLOAT vertex format.

Fixes rendering glitches in Batman: Arkham Knight.

Signed-off-by: Andrey Gusev <andrey.goosev at gmail.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/d3d10core/tests/d3d10core.c | 2 ++
 dlls/d3d11/tests/d3d11.c         | 2 ++
 dlls/wined3d/utils.c             | 1 +
 3 files changed, 5 insertions(+)

diff --git a/dlls/d3d10core/tests/d3d10core.c b/dlls/d3d10core/tests/d3d10core.c
index 73151f2296c..a4729f9d2d3 100644
--- a/dlls/d3d10core/tests/d3d10core.c
+++ b/dlls/d3d10core/tests/d3d10core.c
@@ -12373,6 +12373,7 @@ static void test_create_input_layout(void)
         DXGI_FORMAT_R32_FLOAT,
         DXGI_FORMAT_R32_UINT,
         DXGI_FORMAT_R32_SINT,
+        DXGI_FORMAT_R16_FLOAT,
         DXGI_FORMAT_R16_UINT,
         DXGI_FORMAT_R16_SINT,
         DXGI_FORMAT_R8_UINT,
@@ -13648,6 +13649,7 @@ static void test_format_support(void)
     static const struct format_support vertex_buffers[] =
     {
         {DXGI_FORMAT_R8G8_UINT},
+        {DXGI_FORMAT_R16_FLOAT},
     };
 
     if (!(device = create_device()))
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c
index 140e7cc195c..53087684acf 100644
--- a/dlls/d3d11/tests/d3d11.c
+++ b/dlls/d3d11/tests/d3d11.c
@@ -18552,6 +18552,7 @@ static void test_create_input_layout(void)
         DXGI_FORMAT_R32_FLOAT,
         DXGI_FORMAT_R32_UINT,
         DXGI_FORMAT_R32_SINT,
+        DXGI_FORMAT_R16_FLOAT,
         DXGI_FORMAT_R16_UINT,
         DXGI_FORMAT_R16_SINT,
         DXGI_FORMAT_R8G8_UNORM,
@@ -20622,6 +20623,7 @@ static void test_format_support(const D3D_FEATURE_LEVEL feature_level)
     static const struct format_support vertex_buffers[] =
     {
         {DXGI_FORMAT_R8G8_UINT, D3D_FEATURE_LEVEL_10_0},
+        {DXGI_FORMAT_R16_FLOAT, D3D_FEATURE_LEVEL_10_0},
     };
 
     device_desc.feature_level = &feature_level;
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index 1b0d7cc6eba..b7afa721587 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -727,6 +727,7 @@ static const struct wined3d_format_vertex_info format_vertex_info[] =
     {WINED3DFMT_R8_UINT,            WINED3D_FFP_EMIT_INVALID,   GL_UNSIGNED_BYTE},
     {WINED3DFMT_R8_SINT,            WINED3D_FFP_EMIT_INVALID,   GL_BYTE},
     {WINED3DFMT_R8G8_UINT,          WINED3D_FFP_EMIT_INVALID,   GL_UNSIGNED_BYTE},
+    {WINED3DFMT_R16_FLOAT,          WINED3D_FFP_EMIT_INVALID,   GL_HALF_FLOAT, ARB_HALF_FLOAT_VERTEX},
     {WINED3DFMT_R16_UINT,           WINED3D_FFP_EMIT_INVALID,   GL_UNSIGNED_SHORT},
     {WINED3DFMT_R16_SINT,           WINED3D_FFP_EMIT_INVALID,   GL_SHORT},
     {WINED3DFMT_R32_UINT,           WINED3D_FFP_EMIT_INVALID,   GL_UNSIGNED_INT},




More information about the wine-cvs mailing list