Rebase against d050343c502202e1abdabdb37668684031d5367d.

This commit is contained in:
Sebastian Lackner
2015-10-05 20:07:30 +02:00
parent 6b720c8cd2
commit 3307e90080
19 changed files with 29 additions and 733 deletions

View File

@@ -1,4 +1,4 @@
From a605e2c29345026b85ef529bb72bb83422423d14 Mon Sep 17 00:00:00 2001
From ffb226d59c82df5c438b47a1a3d7ae29dc98f861 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
Date: Thu, 20 Dec 2012 14:19:52 +0100
Subject: wined3d: Get rid of state access in shader_generate_glsl_declarations
@@ -8,10 +8,10 @@ Subject: wined3d: Get rid of state access in shader_generate_glsl_declarations
1 file changed, 6 insertions(+), 15 deletions(-)
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 76d2c35..5b0b174 100644
index eddabee..edc8ce4 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -1497,11 +1497,9 @@ static void shader_generate_glsl_declarations(const struct wined3d_context *cont
@@ -1592,11 +1592,9 @@ static void shader_generate_glsl_declarations(const struct wined3d_context *cont
const struct wined3d_shader_reg_maps *reg_maps, const struct shader_glsl_ctx_priv *ctx_priv)
{
const struct wined3d_shader_version *version = &reg_maps->shader_version;
@@ -23,16 +23,16 @@ index 76d2c35..5b0b174 100644
unsigned int i, extra_constants_needed = 0;
const struct wined3d_shader_lconst *lconst;
const char *prefix;
@@ -1751,7 +1749,7 @@ static void shader_generate_glsl_declarations(const struct wined3d_context *cont
@@ -1870,7 +1868,7 @@ static void shader_generate_glsl_declarations(const struct wined3d_context *cont
{
UINT in_count = min(vec4_varyings(version->major, gl_info), shader->limits->packed_input);
- if (use_vs(state))
+ if (ps_args->vp_mode == vertexshader)
shader_addline(buffer, "varying vec4 %s_link[%u];\n", prefix, in_count);
declare_in_varying(gl_info, buffer, FALSE, "vec4 %s_link[%u];\n", prefix, in_count);
shader_addline(buffer, "vec4 %s_in[%u];\n", prefix, in_count);
}
@@ -1792,21 +1790,14 @@ static void shader_generate_glsl_declarations(const struct wined3d_context *cont
@@ -1911,21 +1909,14 @@ static void shader_generate_glsl_declarations(const struct wined3d_context *cont
}
else
{
@@ -60,5 +60,5 @@ index 76d2c35..5b0b174 100644
shader_addline(buffer, "vec4 vpos;\n");
}
--
2.4.2
2.6.0

View File

@@ -4637,7 +4637,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -1547,9 +1547,17 @@
@@ -1592,9 +1592,17 @@
const struct wined3d_shader_reg_maps *reg_maps, const struct shader_glsl_ctx_priv *ctx_priv)
{
const struct wined3d_shader_version *version = &reg_maps->shader_version;
@@ -4655,7 +4655,7 @@ diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
unsigned int i, extra_constants_needed = 0;
const struct wined3d_shader_lconst *lconst;
const char *prefix;
@@ -1809,7 +1817,11 @@
@@ -1868,7 +1876,11 @@
{
UINT in_count = min(vec4_varyings(version->major, gl_info), shader->limits->packed_input);
@@ -4664,10 +4664,10 @@ diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
+#else /* STAGING_CSMT */
+ if (use_vs(state))
+#endif /* STAGING_CSMT */
shader_addline(buffer, "varying vec4 %s_link[%u];\n", prefix, in_count);
declare_in_varying(gl_info, buffer, FALSE, "vec4 %s_link[%u];\n", prefix, in_count);
shader_addline(buffer, "vec4 %s_in[%u];\n", prefix, in_count);
}
@@ -1850,6 +1862,7 @@
@@ -1909,6 +1921,7 @@
}
else
{
@@ -4675,7 +4675,7 @@ diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
/* This happens because we do not have proper tracking of the
* constant registers that are actually used, only the max
* limit of the shader version.
@@ -1858,6 +1871,23 @@
@@ -1917,6 +1930,23 @@
* it and just create the uniform.
*/
FIXME("Cannot find a free uniform for vpos correction params\n");