Rebase against upstream changes.

This commit is contained in:
Sebastian Lackner
2015-03-31 00:53:08 +02:00
parent 006db23dab
commit cc9f3cfa0e
27 changed files with 144 additions and 1322 deletions

View File

@@ -1,4 +1,4 @@
From 3633fb5bf88a562326133b84ba9105aff2cbd3c4 Mon Sep 17 00:00:00 2001
From 819f7f67ac69f32981342604f7aa0b011377a891 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
Date: Thu, 20 Dec 2012 13:09:17 +0100
Subject: wined3d: Move the framebuffer into wined3d_state
@@ -577,10 +577,10 @@ index f2c2f42..c6a72fc 100644
surface_modify_ds_location(ds, location, ds->ds_current_size.cx, ds->ds_current_size.cy);
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 0fa8308..c7216de 100644
index e4ddbe6..9d27b50 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -964,7 +964,7 @@ static void shader_generate_glsl_declarations(const struct wined3d_context *cont
@@ -1064,7 +1064,7 @@ static void shader_generate_glsl_declarations(const struct wined3d_context *cont
const struct wined3d_state *state = &shader->device->state;
const struct ps_compile_args *ps_args = ctx_priv->cur_ps_args;
const struct wined3d_gl_info *gl_info = context->gl_info;
@@ -603,7 +603,7 @@ index 31b391b..6dc1abd 100644
{
static unsigned int warned = 0;
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
index a949077..f81ab33 100644
index 69623af..90aae0a 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -105,7 +105,7 @@ static void state_zenable(struct wined3d_context *context, const struct wined3d_
@@ -816,19 +816,19 @@ index dd7d2c7..ed2964e 100644
struct wined3d_context *context;
struct wined3d_surface *front;
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index a772af8..d2e7fdc 100644
index 468aea9..948b793 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -3183,7 +3183,7 @@ void get_projection_matrix(const struct wined3d_context *context, const struct w
float y_offset = (float)(context->render_offscreen
? (63.0 / 64.0 - (2.0 * y) - h) / h
: (63.0 / 64.0 - (2.0 * y) - h) / -h);
@@ -3190,7 +3190,7 @@ void get_projection_matrix(const struct wined3d_context *context, const struct w
float y_offset = context->render_offscreen
? (center_offset - (2.0f * y) - h) / h
: (center_offset - (2.0f * y) - h) / -h;
- enum wined3d_depth_buffer_type zenable = state->fb->depth_stencil ?
+ enum wined3d_depth_buffer_type zenable = state->fb.depth_stencil ?
state->render_states[WINED3D_RS_ZENABLE] : WINED3D_ZB_FALSE;
float z_scale = zenable ? 2.0f : 0.0f;
float z_offset = zenable ? -1.0f : 0.0f;
@@ -3613,7 +3613,7 @@ void gen_ffp_frag_op(const struct wined3d_context *context, const struct wined3d
@@ -3620,7 +3620,7 @@ void gen_ffp_frag_op(const struct wined3d_context *context, const struct wined3d
unsigned int i;
DWORD ttff;
DWORD cop, aop, carg0, carg1, carg2, aarg0, aarg1, aarg2;
@@ -838,10 +838,10 @@ index a772af8..d2e7fdc 100644
const struct wined3d_d3d_info *d3d_info = context->d3d_info;
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 0f1dfdd..6a5e4b8 100644
index 03831b8..e922f86 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -1120,6 +1120,36 @@ struct wined3d_timestamp_query
@@ -1121,6 +1121,36 @@ struct wined3d_timestamp_query
void context_alloc_timestamp_query(struct wined3d_context *context, struct wined3d_timestamp_query *query) DECLSPEC_HIDDEN;
void context_free_timestamp_query(struct wined3d_timestamp_query *query) DECLSPEC_HIDDEN;
@@ -878,7 +878,7 @@ index 0f1dfdd..6a5e4b8 100644
struct wined3d_context
{
const struct wined3d_gl_info *gl_info;
@@ -1134,6 +1164,7 @@ struct wined3d_context
@@ -1135,6 +1165,7 @@ struct wined3d_context
DWORD dirtyArray[STATE_HIGHEST + 1]; /* Won't get bigger than that, a state is never marked dirty 2 times */
DWORD numDirtyEntries;
DWORD isStateDirty[STATE_HIGHEST / (sizeof(DWORD) * CHAR_BIT) + 1]; /* Bitmap to find out quickly if a state is dirty */
@@ -886,7 +886,7 @@ index 0f1dfdd..6a5e4b8 100644
struct wined3d_swapchain *swapchain;
struct wined3d_surface *current_rt;
@@ -1235,12 +1266,6 @@ struct wined3d_context
@@ -1236,12 +1267,6 @@ struct wined3d_context
GLuint dummy_arbfp_prog;
};
@@ -899,7 +899,7 @@ index 0f1dfdd..6a5e4b8 100644
typedef void (*APPLYSTATEFUNC)(struct wined3d_context *ctx, const struct wined3d_state *state, DWORD state_id);
struct StateEntry
@@ -1917,7 +1942,7 @@ struct wined3d_stream_state
@@ -1918,7 +1943,7 @@ struct wined3d_stream_state
struct wined3d_state
{
DWORD flags;
@@ -908,7 +908,7 @@ index 0f1dfdd..6a5e4b8 100644
struct wined3d_vertex_declaration *vertex_declaration;
struct wined3d_stream_output stream_output[MAX_STREAM_OUT];
@@ -2023,7 +2048,6 @@ struct wined3d_device
@@ -2024,7 +2049,6 @@ struct wined3d_device
struct wine_rb_tree samplers;
/* Render Target Support */
@@ -916,7 +916,7 @@ index 0f1dfdd..6a5e4b8 100644
struct wined3d_surface *onscreen_depth_stencil;
struct wined3d_rendertarget_view *auto_depth_stencil_view;
@@ -2527,9 +2551,8 @@ struct wined3d_stateblock
@@ -2528,9 +2552,8 @@ struct wined3d_stateblock
void stateblock_init_contained_states(struct wined3d_stateblock *stateblock) DECLSPEC_HIDDEN;
void state_cleanup(struct wined3d_state *state) DECLSPEC_HIDDEN;
@@ -928,7 +928,7 @@ index 0f1dfdd..6a5e4b8 100644
void state_unbind_resources(struct wined3d_state *state) DECLSPEC_HIDDEN;
struct wined3d_cs_ops
@@ -2542,7 +2565,6 @@ struct wined3d_cs
@@ -2543,7 +2566,6 @@ struct wined3d_cs
{
const struct wined3d_cs_ops *ops;
struct wined3d_device *device;

View File

@@ -1092,10 +1092,10 @@ diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -3183,7 +3183,11 @@
float y_offset = (float)(context->render_offscreen
? (63.0 / 64.0 - (2.0 * y) - h) / h
: (63.0 / 64.0 - (2.0 * y) - h) / -h);
@@ -3190,7 +3190,11 @@
float y_offset = context->render_offscreen
? (center_offset - (2.0f * y) - h) / h
: (center_offset - (2.0f * y) - h) / -h;
+#if defined(STAGING_CSMT)
enum wined3d_depth_buffer_type zenable = state->fb.depth_stencil ?
+#else /* STAGING_CSMT */
@@ -1104,7 +1104,7 @@ diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
state->render_states[WINED3D_RS_ZENABLE] : WINED3D_ZB_FALSE;
float z_scale = zenable ? 2.0f : 0.0f;
float z_offset = zenable ? -1.0f : 0.0f;
@@ -3306,6 +3310,7 @@
@@ -3313,6 +3317,7 @@
/* case WINED3D_TTFF_COUNT1: Won't ever get here. */
case WINED3D_TTFF_COUNT2:
mat._13 = mat._23 = mat._33 = mat._43 = 0.0f;
@@ -1112,7 +1112,7 @@ diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
/* OpenGL divides the first 3 vertex coord by the 4th by default,
* which is essentially the same as D3DTTFF_PROJECTED. Make sure that
* the 4th coord evaluates to 1.0 to eliminate that.
@@ -3318,6 +3323,20 @@
@@ -3325,6 +3330,20 @@
* A more serious problem occurs if the app passes 4 coordinates in, and the
* 4th is != 1.0(opengl default). This would have to be fixed in draw_strided_slow
* or a replacement shader. */
@@ -1133,7 +1133,7 @@ diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
default:
mat._14 = mat._24 = mat._34 = 0.0f; mat._44 = 1.0f;
}
@@ -3613,7 +3632,11 @@
@@ -3620,7 +3639,11 @@
unsigned int i;
DWORD ttff;
DWORD cop, aop, carg0, carg1, carg2, aarg0, aarg1, aarg2;