mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Rebase against 10fb33026f2a55209dea0fb00caa279610027a0f.
This commit is contained in:
parent
b059114710
commit
f7c80250ec
@ -1,4 +1,4 @@
|
||||
From e0f91f970149e36d6df50c381f22c4d5994399ba Mon Sep 17 00:00:00 2001
|
||||
From b034a39ba4e554aad252745996dacd9bf02d5d53 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Wendt <daniel.wendt@linux.com>
|
||||
Date: Fri, 15 Nov 2013 12:52:37 +0100
|
||||
Subject: [PATCH] gdi32: fix for rotated Arc, ArcTo, Chord and Pie drawing
|
||||
@ -11,7 +11,7 @@ Wine-Bug: http://bugs.winehq.org/show_bug.cgi?id=34579
|
||||
2 files changed, 83 insertions(+)
|
||||
|
||||
diff --git a/dlls/gdi32/dibdrv/graphics.c b/dlls/gdi32/dibdrv/graphics.c
|
||||
index 30ffad70b02..5d246eea07f 100644
|
||||
index e4e2de8f99f..af82d63e15b 100644
|
||||
--- a/dlls/gdi32/dibdrv/graphics.c
|
||||
+++ b/dlls/gdi32/dibdrv/graphics.c
|
||||
@@ -312,6 +312,60 @@ static int get_arc_points( int arc_dir, const RECT *rect, POINT start, POINT end
|
||||
@ -116,11 +116,11 @@ index 30ffad70b02..5d246eea07f 100644
|
||||
{
|
||||
HeapFree( GetProcessHeap(), 0, points );
|
||||
diff --git a/dlls/gdi32/gdi_private.h b/dlls/gdi32/gdi_private.h
|
||||
index 7ffb92d83d1..5860512b67f 100644
|
||||
index 105d72b23f0..6624a4f7cb7 100644
|
||||
--- a/dlls/gdi32/gdi_private.h
|
||||
+++ b/dlls/gdi32/gdi_private.h
|
||||
@@ -116,4 +116,7 @@ extern BOOL EMFDC_SetPixel( DC_ATTR *dc_attr, INT x, INT y, COLORREF color ) DEC
|
||||
extern BOOL EMFDC_SetROP2( DC_ATTR *dc_attr, INT rop ) DECLSPEC_HIDDEN;
|
||||
@@ -122,4 +122,7 @@ extern BOOL EMFDC_SetROP2( DC_ATTR *dc_attr, INT rop ) DECLSPEC_HIDDEN;
|
||||
extern BOOL EMFDC_SetStretchBltMode( DC_ATTR *dc_attr, INT mode ) DECLSPEC_HIDDEN;
|
||||
extern BOOL EMFDC_SetTextAlign( DC_ATTR *dc_attr, UINT align ) DECLSPEC_HIDDEN;
|
||||
|
||||
+BOOL xform_has_rotate_and_uniform_scale_and_shear( const XFORM *xform ) DECLSPEC_HIDDEN;
|
||||
|
@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "5dffe2263de41e76100ba0acd7c717267dc4c878"
|
||||
echo "10fb33026f2a55209dea0fb00caa279610027a0f"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e88e1bb791cf3cb2a7318b3a88662d01ec3d1bef Mon Sep 17 00:00:00 2001
|
||||
From f6926d9da4c948243bf9b77da073f0be73d9c1f3 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Gofman <gofmanp@gmail.com>
|
||||
Date: Mon, 9 Sep 2019 18:48:43 +0300
|
||||
Subject: [PATCH] wined3d: Add a setting to workaround 0 * inf problem in
|
||||
@ -10,15 +10,15 @@ https://bugs.winehq.org/show_bug.cgi?id=34266.
|
||||
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
|
||||
---
|
||||
dlls/wined3d/glsl_shader.c | 156 ++++++++++++++++++++++++++++-----
|
||||
dlls/wined3d/wined3d_main.c | 3 +
|
||||
dlls/wined3d/wined3d_main.c | 2 +
|
||||
dlls/wined3d/wined3d_private.h | 1 +
|
||||
3 files changed, 136 insertions(+), 24 deletions(-)
|
||||
3 files changed, 135 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
|
||||
index 25e9772325..e577c98ad2 100644
|
||||
index 7c4530f7064..5cccd31207b 100644
|
||||
--- a/dlls/wined3d/glsl_shader.c
|
||||
+++ b/dlls/wined3d/glsl_shader.c
|
||||
@@ -2179,6 +2179,19 @@ static void shader_generate_glsl_declarations(const struct wined3d_context_gl *c
|
||||
@@ -2305,6 +2305,19 @@ static void shader_generate_glsl_declarations(const struct wined3d_context_gl *c
|
||||
if (wined3d_settings.strict_shader_math)
|
||||
shader_addline(buffer, "#pragma optionNV(fastmath off)\n");
|
||||
|
||||
@ -38,7 +38,7 @@ index 25e9772325..e577c98ad2 100644
|
||||
prefix = shader_glsl_get_prefix(version->type);
|
||||
|
||||
/* Prototype the subroutines */
|
||||
@@ -3699,7 +3712,12 @@ static void shader_glsl_binop(const struct wined3d_shader_instruction *ins)
|
||||
@@ -3880,7 +3893,12 @@ static void shader_glsl_binop(const struct wined3d_shader_instruction *ins)
|
||||
write_mask = shader_glsl_append_dst(buffer, ins);
|
||||
shader_glsl_add_src_param(ins, &ins->src[0], write_mask, &src0_param);
|
||||
shader_glsl_add_src_param(ins, &ins->src[1], write_mask, &src1_param);
|
||||
@ -52,7 +52,7 @@ index 25e9772325..e577c98ad2 100644
|
||||
}
|
||||
|
||||
static void shader_glsl_relop(const struct wined3d_shader_instruction *ins)
|
||||
@@ -3912,26 +3930,45 @@ static void shader_glsl_dot(const struct wined3d_shader_instruction *ins)
|
||||
@@ -4093,26 +4111,45 @@ static void shader_glsl_dot(const struct wined3d_shader_instruction *ins)
|
||||
struct glsl_src_param src0_param;
|
||||
struct glsl_src_param src1_param;
|
||||
DWORD dst_write_mask, src_write_mask;
|
||||
@ -104,7 +104,7 @@ index 25e9772325..e577c98ad2 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3967,10 +4004,15 @@ static void shader_glsl_cut(const struct wined3d_shader_instruction *ins)
|
||||
@@ -4148,10 +4185,15 @@ static void shader_glsl_cut(const struct wined3d_shader_instruction *ins)
|
||||
static void shader_glsl_pow(const struct wined3d_shader_instruction *ins)
|
||||
{
|
||||
struct wined3d_string_buffer *buffer = ins->ctx->buffer;
|
||||
@ -120,7 +120,7 @@ index 25e9772325..e577c98ad2 100644
|
||||
|
||||
dst_write_mask = shader_glsl_append_dst(buffer, ins);
|
||||
dst_size = shader_glsl_get_write_mask_size(dst_write_mask);
|
||||
@@ -3980,13 +4022,33 @@ static void shader_glsl_pow(const struct wined3d_shader_instruction *ins)
|
||||
@@ -4161,13 +4203,33 @@ static void shader_glsl_pow(const struct wined3d_shader_instruction *ins)
|
||||
|
||||
if (dst_size > 1)
|
||||
{
|
||||
@ -158,7 +158,7 @@ index 25e9772325..e577c98ad2 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4161,11 +4223,15 @@ static void shader_glsl_scalar_op(const struct wined3d_shader_instruction *ins)
|
||||
@@ -4345,11 +4407,15 @@ static void shader_glsl_scalar_op(const struct wined3d_shader_instruction *ins)
|
||||
{
|
||||
DWORD shader_version = WINED3D_SHADER_VERSION(ins->ctx->reg_maps->shader_version.major,
|
||||
ins->ctx->reg_maps->shader_version.minor);
|
||||
@ -175,7 +175,7 @@ index 25e9772325..e577c98ad2 100644
|
||||
|
||||
dst_write_mask = shader_glsl_append_dst(buffer, ins);
|
||||
dst_size = shader_glsl_get_write_mask_size(dst_write_mask);
|
||||
@@ -4175,41 +4241,78 @@ static void shader_glsl_scalar_op(const struct wined3d_shader_instruction *ins)
|
||||
@@ -4359,41 +4425,78 @@ static void shader_glsl_scalar_op(const struct wined3d_shader_instruction *ins)
|
||||
|
||||
shader_glsl_add_src_param(ins, &ins->src[0], dst_write_mask, &src0_param);
|
||||
|
||||
@ -264,7 +264,7 @@ index 25e9772325..e577c98ad2 100644
|
||||
}
|
||||
|
||||
/** Process the WINED3DSIO_EXPP instruction in GLSL:
|
||||
@@ -4526,8 +4629,13 @@ static void shader_glsl_mad(const struct wined3d_shader_instruction *ins)
|
||||
@@ -4710,8 +4813,13 @@ static void shader_glsl_mad(const struct wined3d_shader_instruction *ins)
|
||||
shader_glsl_add_src_param(ins, &ins->src[0], write_mask, &src0_param);
|
||||
shader_glsl_add_src_param(ins, &ins->src[1], write_mask, &src1_param);
|
||||
shader_glsl_add_src_param(ins, &ins->src[2], write_mask, &src2_param);
|
||||
@ -281,18 +281,10 @@ index 25e9772325..e577c98ad2 100644
|
||||
|
||||
/* Handles transforming all WINED3DSIO_M?x? opcodes for
|
||||
diff --git a/dlls/wined3d/wined3d_main.c b/dlls/wined3d/wined3d_main.c
|
||||
index 5d60a44ef6..e9efbbf08a 100644
|
||||
index 6e93b8dc683..5f6adab19ed 100644
|
||||
--- a/dlls/wined3d/wined3d_main.c
|
||||
+++ b/dlls/wined3d/wined3d_main.c
|
||||
@@ -111,6 +111,7 @@ struct wined3d_settings wined3d_settings =
|
||||
~0u, /* Don't force a specific sample count by default. */
|
||||
FALSE, /* Don't range check relative addressing indices in float constants. */
|
||||
FALSE, /* No strict shader math by default. */
|
||||
+ 0, /* IEEE 0 * inf result. */
|
||||
~0U, /* No VS shader model limit by default. */
|
||||
~0U, /* No HS shader model limit by default. */
|
||||
~0U, /* No DS shader model limit by default. */
|
||||
@@ -362,6 +363,8 @@ static BOOL wined3d_dll_init(HINSTANCE hInstDLL)
|
||||
@@ -364,6 +364,8 @@ static BOOL wined3d_dll_init(HINSTANCE hInstDLL)
|
||||
}
|
||||
if (!get_config_key_dword(hkey, appkey, "strict_shader_math", &wined3d_settings.strict_shader_math))
|
||||
ERR_(winediag)("Setting strict shader math to %#x.\n", wined3d_settings.strict_shader_math);
|
||||
@ -302,10 +294,10 @@ index 5d60a44ef6..e9efbbf08a 100644
|
||||
TRACE("Limiting VS shader model to %u.\n", wined3d_settings.max_sm_vs);
|
||||
if (!get_config_key_dword(hkey, appkey, "MaxShaderModelHS", &wined3d_settings.max_sm_hs))
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 5beaa927d7..3b10d80821 100644
|
||||
index 7b646179a02..a2adace35f7 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -420,6 +420,7 @@ struct wined3d_settings
|
||||
@@ -474,6 +474,7 @@ struct wined3d_settings
|
||||
unsigned int sample_count;
|
||||
BOOL check_float_constants;
|
||||
unsigned int strict_shader_math;
|
||||
@ -314,5 +306,5 @@ index 5beaa927d7..3b10d80821 100644
|
||||
unsigned int max_sm_hs;
|
||||
unsigned int max_sm_ds;
|
||||
--
|
||||
2.24.1
|
||||
2.30.2
|
||||
|
||||
|
@ -1 +1 @@
|
||||
5dffe2263de41e76100ba0acd7c717267dc4c878
|
||||
10fb33026f2a55209dea0fb00caa279610027a0f
|
||||
|
Loading…
Reference in New Issue
Block a user