mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Rebase against c988910caeebfd1415ad4d036964a67078493e46
This commit is contained in:
parent
d82dea3b21
commit
d963a250c9
@ -17,7 +17,7 @@ index 87eaf86..fd4635e 100644
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ iface->lpVtbl->AddRef(iface);
|
||||
+ *effect = iface;
|
||||
+ *new_effect = iface;
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
|
@ -1,17 +1,17 @@
|
||||
From 98309717f9b844c0640de546337bf51b003310b5 Mon Sep 17 00:00:00 2001
|
||||
From 9e1ef78fd1ba5fbdd660d2d9ee735f811c65cf9a Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Fri, 19 Jun 2015 15:57:14 +0200
|
||||
Subject: ntoskrnl: Update USER_SHARED_DATA before accessing memory.
|
||||
Subject: [PATCH] ntoskrnl: Update USER_SHARED_DATA before accessing memory.
|
||||
|
||||
---
|
||||
dlls/ntoskrnl.exe/instr.c | 11 +++++------
|
||||
1 file changed, 5 insertions(+), 6 deletions(-)
|
||||
dlls/ntoskrnl.exe/instr.c | 23 +++++------------------
|
||||
1 file changed, 5 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntoskrnl.exe/instr.c b/dlls/ntoskrnl.exe/instr.c
|
||||
index 48f16f2..df5399e 100644
|
||||
index d5d197de35..68112506db 100644
|
||||
--- a/dlls/ntoskrnl.exe/instr.c
|
||||
+++ b/dlls/ntoskrnl.exe/instr.c
|
||||
@@ -495,8 +495,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(int);
|
||||
@@ -484,8 +484,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(int);
|
||||
#define SIB_INDEX( sib, rex ) (((sib) >> 3) & 7) | (((rex) & REX_X) ? 8 : 0)
|
||||
#define SIB_BASE( sib, rex ) (((sib) & 7) | (((rex) & REX_B) ? 8 : 0))
|
||||
|
||||
@ -21,17 +21,37 @@ index 48f16f2..df5399e 100644
|
||||
static const BYTE *user_shared_data = (BYTE *)0xfffff78000000000;
|
||||
|
||||
static inline DWORD64 *get_int_reg( CONTEXT *context, int index )
|
||||
@@ -689,7 +688,7 @@ static DWORD emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT *context )
|
||||
@@ -595,15 +594,6 @@ static void fake_syscall_function(void)
|
||||
}
|
||||
|
||||
|
||||
-static void update_shared_data(void)
|
||||
-{
|
||||
- struct _KUSER_SHARED_DATA *shared_data = (struct _KUSER_SHARED_DATA *)wine_user_shared_data;
|
||||
-
|
||||
- shared_data->u.TickCountQuad = GetTickCount64();
|
||||
- shared_data->u.TickCount.High2Time = shared_data->u.TickCount.High1Time;
|
||||
-}
|
||||
-
|
||||
-
|
||||
/***********************************************************************
|
||||
* emulate_instruction
|
||||
*
|
||||
@@ -804,8 +794,7 @@ static DWORD emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT *context )
|
||||
if (offset <= sizeof(KSHARED_USER_DATA) - data_size)
|
||||
{
|
||||
ULONGLONG temp = 0;
|
||||
- update_shared_data();
|
||||
- memcpy( &temp, wine_user_shared_data + offset, data_size );
|
||||
+ memcpy( &temp, __wine_user_shared_data() + offset, data_size );
|
||||
store_reg_word( context, instr[2], (BYTE *)&temp, long_op, rex );
|
||||
context->Rip += prefixlen + len + 2;
|
||||
return ExceptionContinueExecution;
|
||||
@@ -711,8 +710,8 @@ static DWORD emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT *context )
|
||||
@@ -825,11 +814,10 @@ static DWORD emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT *context )
|
||||
|
||||
if (offset <= sizeof(KSHARED_USER_DATA) - data_size)
|
||||
{
|
||||
- update_shared_data();
|
||||
switch (*instr)
|
||||
{
|
||||
- case 0x8a: store_reg_byte( context, instr[1], wine_user_shared_data + offset, rex ); break;
|
||||
@ -41,15 +61,16 @@ index 48f16f2..df5399e 100644
|
||||
}
|
||||
context->Rip += prefixlen + len + 1;
|
||||
return ExceptionContinueExecution;
|
||||
@@ -730,7 +729,7 @@ static DWORD emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT *context )
|
||||
@@ -847,8 +835,7 @@ static DWORD emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT *context )
|
||||
|
||||
if (offset <= sizeof(KSHARED_USER_DATA) - data_size)
|
||||
{
|
||||
- update_shared_data();
|
||||
- memcpy( &context->Rax, wine_user_shared_data + offset, data_size );
|
||||
+ memcpy( &context->Rax, __wine_user_shared_data() + offset, data_size );
|
||||
context->Rip += prefixlen + len + 1;
|
||||
return ExceptionContinueExecution;
|
||||
}
|
||||
--
|
||||
2.7.1
|
||||
2.20.1
|
||||
|
||||
|
@ -52,7 +52,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "6325d85406fbf7f46770bc739da4b7e2c9b199d7"
|
||||
echo "c988910caeebfd1415ad4d036964a67078493e46"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 79fcdb0aa1f8d873eb807fda571559c9788508af Mon Sep 17 00:00:00 2001
|
||||
From 65d17c2e8b3048f2e97fdec578509e207055aa07 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Fri, 18 Aug 2017 23:51:59 +0200
|
||||
Subject: [PATCH] wined3d: Implement dual source blending.
|
||||
@ -14,7 +14,7 @@ Subject: [PATCH] wined3d: Implement dual source blending.
|
||||
7 files changed, 75 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c
|
||||
index 14ffa4e..2047bb8 100644
|
||||
index 14ffa4e0196..2047bb83103 100644
|
||||
--- a/dlls/d3d11/tests/d3d11.c
|
||||
+++ b/dlls/d3d11/tests/d3d11.c
|
||||
@@ -29294,7 +29294,7 @@ static void test_dual_blending(void)
|
||||
@ -27,10 +27,10 @@ index 14ffa4e..2047bb8 100644
|
||||
|
||||
ID3D11BlendState_Release(blend_state);
|
||||
diff --git a/dlls/wined3d/adapter_gl.c b/dlls/wined3d/adapter_gl.c
|
||||
index da7574f..8dd04f7 100644
|
||||
index daa71791970..1b8282be964 100644
|
||||
--- a/dlls/wined3d/adapter_gl.c
|
||||
+++ b/dlls/wined3d/adapter_gl.c
|
||||
@@ -2926,6 +2926,12 @@ static void wined3d_adapter_init_limits(struct wined3d_gl_info *gl_info, struct
|
||||
@@ -2930,6 +2930,12 @@ static void wined3d_adapter_init_limits(struct wined3d_gl_info *gl_info, struct
|
||||
gl_info->limits.buffers = min(MAX_RENDER_TARGET_VIEWS, gl_max);
|
||||
TRACE("Max draw buffers: %u.\n", gl_max);
|
||||
}
|
||||
@ -43,7 +43,7 @@ index da7574f..8dd04f7 100644
|
||||
if (gl_info->supported[ARB_MULTITEXTURE])
|
||||
{
|
||||
if (gl_info->supported[WINED3D_GL_LEGACY_CONTEXT])
|
||||
@@ -3755,6 +3761,10 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter,
|
||||
@@ -3760,6 +3766,10 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter,
|
||||
|
||||
TRACE("Max texture stages: %u.\n", d3d_info->limits.ffp_blend_stages);
|
||||
|
||||
@ -55,7 +55,7 @@ index da7574f..8dd04f7 100644
|
||||
{
|
||||
/* We do not want to deal with re-creating immutable texture storage
|
||||
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
|
||||
index 267238d..6b687b3 100644
|
||||
index 6d270a7eb69..50f61d9574e 100644
|
||||
--- a/dlls/wined3d/context.c
|
||||
+++ b/dlls/wined3d/context.c
|
||||
@@ -3160,10 +3160,20 @@ static unsigned int find_draw_buffers_mask(const struct wined3d_context *context
|
||||
@ -81,7 +81,7 @@ index 267238d..6b687b3 100644
|
||||
{
|
||||
i = wined3d_bit_scan(&mask);
|
||||
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
|
||||
index fa6e302..2e8a45f 100644
|
||||
index ebc01595778..84899be0041 100644
|
||||
--- a/dlls/wined3d/glsl_shader.c
|
||||
+++ b/dlls/wined3d/glsl_shader.c
|
||||
@@ -3067,6 +3067,7 @@ static void shader_glsl_get_register_name(const struct wined3d_shader_register *
|
||||
@ -92,7 +92,7 @@ index fa6e302..2e8a45f 100644
|
||||
if (reg->idx[0].offset >= gl_info->limits.buffers)
|
||||
WARN("Write to render target %u, only %d supported.\n",
|
||||
reg->idx[0].offset, gl_info->limits.buffers);
|
||||
@@ -7975,7 +7976,10 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context
|
||||
@@ -7991,7 +7992,10 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context
|
||||
{
|
||||
const struct wined3d_shader_signature *output_signature = &shader->output_signature;
|
||||
|
||||
@ -104,7 +104,7 @@ index fa6e302..2e8a45f 100644
|
||||
if (output_signature->element_count)
|
||||
{
|
||||
for (i = 0; i < output_signature->element_count; ++i)
|
||||
@@ -7990,7 +7994,12 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context
|
||||
@@ -8006,7 +8010,12 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context
|
||||
continue;
|
||||
}
|
||||
if (shader_glsl_use_explicit_attrib_location(gl_info))
|
||||
@ -118,7 +118,7 @@ index fa6e302..2e8a45f 100644
|
||||
shader_addline(buffer, "out %s4 color_out%u;\n",
|
||||
component_type_info[output->component_type].glsl_vector_type, output->semantic_idx);
|
||||
}
|
||||
@@ -8003,7 +8012,12 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context
|
||||
@@ -8019,7 +8028,12 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context
|
||||
{
|
||||
i = wined3d_bit_scan(&mask);
|
||||
if (shader_glsl_use_explicit_attrib_location(gl_info))
|
||||
@ -133,7 +133,7 @@ index fa6e302..2e8a45f 100644
|
||||
}
|
||||
}
|
||||
diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c
|
||||
index 83a793d..2db4a3c 100644
|
||||
index 83a793d5229..2db4a3cbc21 100644
|
||||
--- a/dlls/wined3d/shader.c
|
||||
+++ b/dlls/wined3d/shader.c
|
||||
@@ -4147,6 +4147,8 @@ void find_ps_compile_args(const struct wined3d_state *state, const struct wined3
|
||||
@ -146,7 +146,7 @@ index 83a793d..2db4a3c 100644
|
||||
|
||||
static HRESULT pixel_shader_init(struct wined3d_shader *shader, struct wined3d_device *device,
|
||||
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
|
||||
index f071f30..2d44e68 100644
|
||||
index f071f30b575..2d44e68ac2e 100644
|
||||
--- a/dlls/wined3d/state.c
|
||||
+++ b/dlls/wined3d/state.c
|
||||
@@ -533,12 +533,14 @@ static void state_blend(struct wined3d_context *context, const struct wined3d_st
|
||||
@ -189,18 +189,18 @@ index f071f30..2d44e68 100644
|
||||
state->render_states[WINED3D_RS_SRCBLEND],
|
||||
state->render_states[WINED3D_RS_DESTBLEND], rt_format);
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 8f23a01..c417a6e 100644
|
||||
index 2137c69379e..09af9752a29 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -195,6 +195,7 @@ struct wined3d_d3d_info
|
||||
@@ -196,6 +196,7 @@ struct wined3d_d3d_info
|
||||
{
|
||||
struct wined3d_d3d_limits limits;
|
||||
struct wined3d_ffp_attrib_ops ffp_attrib_ops;
|
||||
+ DWORD valid_dual_rt_mask;
|
||||
DWORD wined3d_creation_flags;
|
||||
unsigned int wined3d_creation_flags;
|
||||
unsigned int xyzrhw : 1;
|
||||
unsigned int emulated_flatshading : 1;
|
||||
@@ -1372,7 +1373,8 @@ struct ps_compile_args
|
||||
@@ -1374,7 +1375,8 @@ struct ps_compile_args
|
||||
DWORD alpha_test_func : 3;
|
||||
DWORD render_offscreen : 1;
|
||||
DWORD rt_alpha_swizzle : 8; /* MAX_RENDER_TARGET_VIEWS, 8 */
|
||||
@ -210,7 +210,7 @@ index 8f23a01..c417a6e 100644
|
||||
};
|
||||
|
||||
enum fog_src_type
|
||||
@@ -1934,7 +1936,8 @@ struct wined3d_context
|
||||
@@ -1935,7 +1937,8 @@ struct wined3d_context
|
||||
DWORD shader_update_mask : 6; /* WINED3D_SHADER_TYPE_COUNT, 6 */
|
||||
DWORD clip_distance_mask : 8; /* WINED3D_MAX_CLIP_DISTANCES, 8 */
|
||||
DWORD num_untracked_materials : 2; /* Max value 2 */
|
||||
@ -220,7 +220,7 @@ index 8f23a01..c417a6e 100644
|
||||
|
||||
DWORD constant_update_mask;
|
||||
DWORD numbered_array_mask;
|
||||
@@ -2564,6 +2567,7 @@ struct wined3d_fbo_ops
|
||||
@@ -2565,6 +2568,7 @@ struct wined3d_fbo_ops
|
||||
struct wined3d_gl_limits
|
||||
{
|
||||
UINT buffers;
|
||||
@ -228,7 +228,7 @@ index 8f23a01..c417a6e 100644
|
||||
UINT lights;
|
||||
UINT textures;
|
||||
UINT texture_coords;
|
||||
@@ -2966,6 +2970,22 @@ struct wined3d_state
|
||||
@@ -2976,6 +2980,22 @@ struct wined3d_state
|
||||
struct wined3d_rasterizer_state *rasterizer_state;
|
||||
};
|
||||
|
||||
@ -252,5 +252,5 @@ index 8f23a01..c417a6e 100644
|
||||
{
|
||||
GLuint tex_1d;
|
||||
--
|
||||
1.9.1
|
||||
2.20.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From fdfe81a0579648faaff6d4cfd59908b62f2c1d3c Mon Sep 17 00:00:00 2001
|
||||
From 5b53b2c3169dc79450a1df0c564543c9dd56b887 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Gofman <gofmanp@gmail.com>
|
||||
Date: Mon, 25 Feb 2019 14:47:28 +0300
|
||||
Subject: [PATCH 3/5] wined3d: Report actual vertex shader float constants
|
||||
@ -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 fe85fab216..47fff09b8a 100644
|
||||
index 0c96f94e1f..a1a40637c9 100644
|
||||
--- a/dlls/wined3d/adapter_gl.c
|
||||
+++ b/dlls/wined3d/adapter_gl.c
|
||||
@@ -3741,7 +3741,8 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter,
|
||||
@@ -3718,7 +3718,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;
|
||||
@ -27,14 +27,14 @@ index fe85fab216..47fff09b8a 100644
|
||||
d3d_info->limits.varying_count = shader_caps.varying_count;
|
||||
d3d_info->shader_double_precision = !!(shader_caps.wined3d_caps & WINED3D_SHADER_CAP_DOUBLE_PRECISION);
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 30d52bc610..4d8396888c 100644
|
||||
index 5039e0a81e..c0d5e48ff2 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -3623,10 +3623,21 @@ struct wined3d_texture * CDECL wined3d_device_get_texture(const struct wined3d_d
|
||||
@@ -3601,10 +3601,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)
|
||||
{
|
||||
+ const struct wined3d_adapter *adapter = &device->wined3d->adapters[device->adapter->ordinal];
|
||||
+ const struct wined3d_adapter *adapter = device->wined3d->adapters[device->adapter->ordinal];
|
||||
+ struct wined3d_vertex_caps vertex_caps;
|
||||
+ HRESULT hr;
|
||||
+
|
||||
@ -54,10 +54,10 @@ index 30d52bc610..4d8396888c 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 5dc5c98982..d9d807abdb 100644
|
||||
index b3d1d4ee97..cde3322db7 100644
|
||||
--- a/dlls/wined3d/glsl_shader.c
|
||||
+++ b/dlls/wined3d/glsl_shader.c
|
||||
@@ -11486,7 +11486,10 @@ static void shader_glsl_get_caps(const struct wined3d_gl_info *gl_info, struct s
|
||||
@@ -11472,7 +11472,10 @@ static void shader_glsl_get_caps(const struct wined3d_gl_info *gl_info, 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;
|
||||
|
||||
@ -70,7 +70,7 @@ index 5dc5c98982..d9d807abdb 100644
|
||||
caps->varying_count = gl_info->limits.glsl_varyings;
|
||||
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index faf4be0ab1..fa195c3b15 100644
|
||||
index c26efb2839..f9cd3d5697 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -164,6 +164,7 @@ struct wined3d_d3d_limits
|
||||
@ -81,7 +81,7 @@ index faf4be0ab1..fa195c3b15 100644
|
||||
DWORD ps_uniform_count;
|
||||
unsigned int varying_count;
|
||||
unsigned int ffp_textures;
|
||||
@@ -685,6 +686,7 @@ enum wined3d_shader_conditional_op
|
||||
@@ -683,6 +684,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
|
||||
|
Loading…
x
Reference in New Issue
Block a user