Andrey Gusev : wined3d: Add WINED3DFMT_R11G11B10_FLOAT vertex format.
Alexandre Julliard
julliard at winehq.org
Fri Dec 17 15:14:56 CST 2021
Module: wine
Branch: master
Commit: b006a4c5acbc5704210a3b2bc55ec4c6dcef31ef
URL: https://source.winehq.org/git/wine.git/?a=commit;h=b006a4c5acbc5704210a3b2bc55ec4c6dcef31ef
Author: Andrey Gusev <andrey.goosev at gmail.com>
Date: Fri Dec 17 18:33:48 2021 +0200
wined3d: Add WINED3DFMT_R11G11B10_FLOAT vertex format.
Used by Dark Souls: Remastered.
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/adapter_gl.c | 2 ++
dlls/wined3d/utils.c | 2 ++
dlls/wined3d/wined3d_gl.h | 1 +
5 files changed, 9 insertions(+)
diff --git a/dlls/d3d10core/tests/d3d10core.c b/dlls/d3d10core/tests/d3d10core.c
index a4729f9d2d3..a1c4be46b7f 100644
--- a/dlls/d3d10core/tests/d3d10core.c
+++ b/dlls/d3d10core/tests/d3d10core.c
@@ -12370,6 +12370,7 @@ static void test_create_input_layout(void)
DXGI_FORMAT_R16G16_FLOAT,
DXGI_FORMAT_R16G16_UINT,
DXGI_FORMAT_R16G16_SINT,
+ DXGI_FORMAT_R11G11B10_FLOAT,
DXGI_FORMAT_R32_FLOAT,
DXGI_FORMAT_R32_UINT,
DXGI_FORMAT_R32_SINT,
@@ -13649,6 +13650,7 @@ static void test_format_support(void)
static const struct format_support vertex_buffers[] =
{
{DXGI_FORMAT_R8G8_UINT},
+ {DXGI_FORMAT_R11G11B10_FLOAT},
{DXGI_FORMAT_R16_FLOAT},
};
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c
index 154221e405c..a76e5fa1295 100644
--- a/dlls/d3d11/tests/d3d11.c
+++ b/dlls/d3d11/tests/d3d11.c
@@ -18549,6 +18549,7 @@ static void test_create_input_layout(void)
DXGI_FORMAT_R16G16_FLOAT,
DXGI_FORMAT_R16G16_UINT,
DXGI_FORMAT_R16G16_SINT,
+ DXGI_FORMAT_R11G11B10_FLOAT,
DXGI_FORMAT_R32_FLOAT,
DXGI_FORMAT_R32_UINT,
DXGI_FORMAT_R32_SINT,
@@ -20623,6 +20624,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_R11G11B10_FLOAT, D3D_FEATURE_LEVEL_10_0},
{DXGI_FORMAT_R16_FLOAT, D3D_FEATURE_LEVEL_10_0},
};
diff --git a/dlls/wined3d/adapter_gl.c b/dlls/wined3d/adapter_gl.c
index 6cc2f0cd9a8..5511a70a8ff 100644
--- a/dlls/wined3d/adapter_gl.c
+++ b/dlls/wined3d/adapter_gl.c
@@ -159,6 +159,7 @@ static const struct wined3d_extension_map gl_extension_map[] =
{"GL_ARB_vertex_buffer_object", ARB_VERTEX_BUFFER_OBJECT },
{"GL_ARB_vertex_program", ARB_VERTEX_PROGRAM },
{"GL_ARB_vertex_shader", ARB_VERTEX_SHADER },
+ {"GL_ARB_vertex_type_10f_11f_11f_rev", ARB_VERTEX_TYPE_10F_11F_11F_REV},
{"GL_ARB_vertex_type_2_10_10_10_rev", ARB_VERTEX_TYPE_2_10_10_10_REV},
{"GL_ARB_viewport_array", ARB_VIEWPORT_ARRAY },
{"GL_ARB_texture_barrier", ARB_TEXTURE_BARRIER },
@@ -3385,6 +3386,7 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter,
{ARB_CLEAR_TEXTURE, MAKEDWORD_VERSION(4, 4)},
{ARB_QUERY_BUFFER_OBJECT, MAKEDWORD_VERSION(4, 4)},
{ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE, MAKEDWORD_VERSION(4, 4)},
+ {ARB_VERTEX_TYPE_10F_11F_11F_REV, MAKEDWORD_VERSION(4, 4)},
{ARB_CLIP_CONTROL, MAKEDWORD_VERSION(4, 5)},
{ARB_CULL_DISTANCE, MAKEDWORD_VERSION(4, 5)},
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index ef2e28b545a..5e375f43a48 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -709,6 +709,8 @@ static const struct wined3d_format_vertex_info format_vertex_info[] =
{WINED3DFMT_R16G16B16A16_SNORM, WINED3D_FFP_EMIT_SHORT4N, GL_SHORT},
{WINED3DFMT_R16G16_UNORM, WINED3D_FFP_EMIT_USHORT2N, GL_UNSIGNED_SHORT},
{WINED3DFMT_R16G16B16A16_UNORM, WINED3D_FFP_EMIT_USHORT4N, GL_UNSIGNED_SHORT},
+ {WINED3DFMT_R11G11B10_FLOAT, WINED3D_FFP_EMIT_INVALID, GL_UNSIGNED_INT_10F_11F_11F_REV,
+ ARB_VERTEX_TYPE_10F_11F_11F_REV},
{WINED3DFMT_R10G10B10X2_UINT, WINED3D_FFP_EMIT_UDEC3, GL_UNSIGNED_SHORT},
{WINED3DFMT_R10G10B10X2_SNORM, WINED3D_FFP_EMIT_DEC3N, GL_SHORT},
{WINED3DFMT_R10G10B10A2_UNORM, WINED3D_FFP_EMIT_INVALID, GL_UNSIGNED_INT_2_10_10_10_REV,
diff --git a/dlls/wined3d/wined3d_gl.h b/dlls/wined3d/wined3d_gl.h
index 2dbc56ab79d..7b6fa50c5f0 100644
--- a/dlls/wined3d/wined3d_gl.h
+++ b/dlls/wined3d/wined3d_gl.h
@@ -143,6 +143,7 @@ enum wined3d_gl_extension
ARB_VERTEX_BUFFER_OBJECT,
ARB_VERTEX_PROGRAM,
ARB_VERTEX_SHADER,
+ ARB_VERTEX_TYPE_10F_11F_11F_REV,
ARB_VERTEX_TYPE_2_10_10_10_REV,
ARB_VIEWPORT_ARRAY,
ARB_TEXTURE_BARRIER,
More information about the wine-cvs
mailing list