Rebase against 4c6aa8b2fa1678c39aa5a89d9b26cfc4002e744e

This commit is contained in:
Alistair Leslie-Hughes
2019-08-15 14:07:34 +10:00
parent 35a5f7db93
commit 67035d62f7
4 changed files with 55 additions and 67 deletions

View File

@@ -1,4 +1,4 @@
From 77ea40ff3762a598abd30edeee292c0275e73f4d Mon Sep 17 00:00:00 2001
From 5de05424cc34f3f98b1b2795d3d0544a9e7d916e Mon Sep 17 00:00:00 2001
From: Paul Gofman <gofmanp@gmail.com>
Date: Mon, 25 Feb 2019 14:47:28 +0300
Subject: [PATCH] wined3d: Report actual vertex shader float constants limit
@@ -13,10 +13,10 @@ Signed-off-by: Paul Gofman <gofmanp@gmail.com>
4 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/dlls/wined3d/adapter_gl.c b/dlls/wined3d/adapter_gl.c
index a843706a5..630360286 100644
index 1e236fe23d4..1fb1884325a 100644
--- a/dlls/wined3d/adapter_gl.c
+++ b/dlls/wined3d/adapter_gl.c
@@ -3770,7 +3770,8 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter,
@@ -3788,7 +3788,8 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter,
d3d_info->limits.gs_version = shader_caps.gs_version;
d3d_info->limits.ps_version = shader_caps.ps_version;
d3d_info->limits.cs_version = shader_caps.cs_version;
@@ -25,12 +25,12 @@ index a843706a5..630360286 100644
+ d3d_info->limits.vs_uniform_count = min(WINED3D_MAX_VS_CONSTS_F, shader_caps.vs_uniform_count);
d3d_info->limits.ps_uniform_count = shader_caps.ps_uniform_count;
d3d_info->limits.varying_count = shader_caps.varying_count;
d3d_info->limits.max_compat_varying_count = shader_caps.max_compat_varying_count;
d3d_info->full_ffp_varyings = !!(shader_caps.wined3d_caps & WINED3D_SHADER_CAP_FULL_FFP_VARYINGS);
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index c37f386f9..760ba5166 100644
index 7aa238b3311..ca18e439b38 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -4064,10 +4064,21 @@ struct wined3d_texture * CDECL wined3d_device_get_texture(const struct wined3d_d
@@ -4088,10 +4088,21 @@ struct wined3d_texture * CDECL wined3d_device_get_texture(const struct wined3d_d
HRESULT CDECL wined3d_device_get_device_caps(const struct wined3d_device *device, struct wined3d_caps *caps)
{
@@ -54,10 +54,10 @@ index c37f386f9..760ba5166 100644
HRESULT CDECL wined3d_device_get_display_mode(const struct wined3d_device *device, UINT swapchain_idx,
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 564afbf15..71e05af57 100644
index 6147d2e88fc..2440ed7b517 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -11222,7 +11222,10 @@ static void shader_glsl_get_caps(const struct wined3d_adapter *adapter, struct s
@@ -11234,7 +11234,10 @@ static void shader_glsl_get_caps(const struct wined3d_adapter *adapter, struct s
caps->vs_version = gl_info->supported[ARB_VERTEX_SHADER] ? caps->vs_version : 0;
caps->ps_version = gl_info->supported[ARB_FRAGMENT_SHADER] ? caps->ps_version : 0;
@@ -68,12 +68,12 @@ index 564afbf15..71e05af57 100644
+ : gl_info->limits.glsl_vs_float_constants);
caps->ps_uniform_count = min(WINED3D_MAX_PS_CONSTS_F, gl_info->limits.glsl_ps_float_constants);
caps->varying_count = gl_info->limits.glsl_varyings;
caps->max_compat_varying_count = shader_glsl_max_compat_varyings(gl_info);
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 3cd0e9728..24eaf1bee 100644
index ab960191dee..bdf6f31ec87 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -166,6 +166,7 @@ struct wined3d_d3d_limits
@@ -167,6 +167,7 @@ struct wined3d_d3d_limits
{
unsigned int vs_version, hs_version, ds_version, gs_version, ps_version, cs_version;
DWORD vs_uniform_count;
@@ -81,7 +81,7 @@ index 3cd0e9728..24eaf1bee 100644
DWORD ps_uniform_count;
unsigned int varying_count;
unsigned int ffp_textures;
@@ -701,6 +702,7 @@ enum wined3d_shader_conditional_op
@@ -703,6 +704,7 @@ enum wined3d_shader_conditional_op
#define WINED3D_MAX_CONSTS_B 16
#define WINED3D_MAX_CONSTS_I 16
#define WINED3D_MAX_VS_CONSTS_F 256
@@ -90,5 +90,5 @@ index 3cd0e9728..24eaf1bee 100644
/* FIXME: This needs to go up to 2048 for
--
2.22.0
2.23.0.rc1