Rebase against 5d96ef42a58e09a2d6cf47a685abb3f42b513ceb.

This commit is contained in:
Sebastian Lackner 2016-10-08 21:40:48 +02:00
parent d33a3327ea
commit 2d5e42b68c
3 changed files with 146 additions and 121 deletions

View File

@ -52,7 +52,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "6372cd8e49a662942a80d2decd1f7eae3541c45b"
echo "5d96ef42a58e09a2d6cf47a685abb3f42b513ceb"
}
# Show version information

View File

@ -54,7 +54,7 @@ diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader
/* We don't want shader constant dirtification to be an O(contexts), so just dirtify the active
* context. On a context switch the old context will be fully dirtified */
@@ -4720,7 +4740,11 @@ static void shader_arb_select(void *shader_priv, struct wined3d_context *context
@@ -4722,7 +4742,11 @@ static void shader_arb_select(void *shader_priv, struct wined3d_context *context
}
else
{
@ -66,7 +66,7 @@ diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader
shader_arb_ps_local_constants(compiled, context, state, rt_height);
}
@@ -7983,8 +8007,16 @@ static void arbfp_blit_surface(struct wined3d_device *device, enum wined3d_blit_
@@ -7985,8 +8009,16 @@ static void arbfp_blit_surface(struct wined3d_device *device, enum wined3d_blit_
/* Leave the opengl state valid for blitting */
arbfp_blit_unset(context->gl_info);
@ -481,7 +481,7 @@ diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
/* Initialize the texture unit mapping to a 1:1 mapping */
for (s = 0; s < MAX_COMBINED_SAMPLERS; ++s)
{
@@ -2003,6 +2010,9 @@ out:
@@ -2005,6 +2012,9 @@ out:
if (hdc) wined3d_release_dc(swapchain->win_handle, hdc);
device->shader_backend->shader_free_context_data(ret);
device->adapter->fragment_pipe->free_context_data(ret);
@ -491,7 +491,7 @@ diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
HeapFree(GetProcessHeap(), 0, ret->free_event_queries);
HeapFree(GetProcessHeap(), 0, ret->free_occlusion_queries);
HeapFree(GetProcessHeap(), 0, ret->free_timestamp_queries);
@@ -2039,6 +2049,9 @@ void context_destroy(struct wined3d_device *device, struct wined3d_context *cont
@@ -2041,6 +2051,9 @@ void context_destroy(struct wined3d_device *device, struct wined3d_context *cont
device->shader_backend->shader_free_context_data(context);
device->adapter->fragment_pipe->free_context_data(context);
HeapFree(GetProcessHeap(), 0, context->fbo_key);
@ -501,7 +501,7 @@ diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
HeapFree(GetProcessHeap(), 0, context->draw_buffers);
HeapFree(GetProcessHeap(), 0, context->blit_targets);
device_context_remove(device, context);
@@ -2575,7 +2588,11 @@ static BOOL context_validate_rt_config(UINT rt_count, struct wined3d_rendertarge
@@ -2586,7 +2599,11 @@ static BOOL context_validate_rt_config(UINT rt_count, struct wined3d_rendertarge
}
/* Context activation is done by the caller. */
@ -513,7 +513,7 @@ diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
UINT rt_count, const struct wined3d_fb_state *fb)
{
struct wined3d_rendertarget_view **rts = fb->render_targets;
@@ -2584,7 +2601,11 @@ BOOL context_apply_clear_state(struct wined3d_context *context, const struct win
@@ -2595,7 +2612,11 @@ BOOL context_apply_clear_state(struct wined3d_context *context, const struct win
DWORD rt_mask = 0, *cur_mask;
UINT i;
@ -525,7 +525,7 @@ diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
|| rt_count != gl_info->limits.buffers)
{
if (!context_validate_rt_config(rt_count, rts, dsv))
@@ -2629,6 +2650,10 @@ BOOL context_apply_clear_state(struct wined3d_context *context, const struct win
@@ -2640,6 +2661,10 @@ BOOL context_apply_clear_state(struct wined3d_context *context, const struct win
rt_mask = context_generate_rt_mask_no_fbo(context,
rt_count ? wined3d_rendertarget_view_get_surface(rts[0])->container : NULL);
}
@ -536,7 +536,7 @@ diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
}
else if (wined3d_settings.offscreen_rendering_mode == ORM_FBO
&& (!rt_count || wined3d_resource_is_offscreen(rts[0]->resource)))
@@ -2669,7 +2694,12 @@ BOOL context_apply_clear_state(struct wined3d_context *context, const struct win
@@ -2680,7 +2705,12 @@ BOOL context_apply_clear_state(struct wined3d_context *context, const struct win
gl_info->gl_ops.gl.p_glEnable(GL_SCISSOR_TEST);
if (rt_count && gl_info->supported[ARB_FRAMEBUFFER_SRGB])
{
@ -549,7 +549,7 @@ diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
gl_info->gl_ops.gl.p_glEnable(GL_FRAMEBUFFER_SRGB);
else
gl_info->gl_ops.gl.p_glDisable(GL_FRAMEBUFFER_SRGB);
@@ -2686,7 +2716,11 @@ BOOL context_apply_clear_state(struct wined3d_context *context, const struct win
@@ -2697,7 +2727,11 @@ BOOL context_apply_clear_state(struct wined3d_context *context, const struct win
static DWORD find_draw_buffers_mask(const struct wined3d_context *context, const struct wined3d_state *state)
{
@ -561,7 +561,7 @@ diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
struct wined3d_shader *ps = state->shader[WINED3D_SHADER_TYPE_PIXEL];
DWORD rt_mask, rt_mask_bits;
unsigned int i;
@@ -2716,7 +2750,11 @@ static DWORD find_draw_buffers_mask(const struct wined3d_context *context, const
@@ -2727,7 +2761,11 @@ static DWORD find_draw_buffers_mask(const struct wined3d_context *context, const
void context_state_fb(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
{
DWORD rt_mask = find_draw_buffers_mask(context, state);
@ -573,7 +573,7 @@ diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
DWORD *cur_mask;
if (wined3d_settings.offscreen_rendering_mode == ORM_FBO)
@@ -2747,6 +2785,10 @@ void context_state_fb(struct wined3d_context *context, const struct wined3d_stat
@@ -2758,6 +2796,10 @@ void context_state_fb(struct wined3d_context *context, const struct wined3d_stat
context_apply_draw_buffers(context, rt_mask);
*cur_mask = rt_mask;
}
@ -584,7 +584,7 @@ diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
}
static void context_map_stage(struct wined3d_context *context, DWORD stage, DWORD unit)
@@ -3378,7 +3420,11 @@ BOOL context_apply_draw_state(struct wined3d_context *context,
@@ -3389,7 +3431,11 @@ BOOL context_apply_draw_state(struct wined3d_context *context,
const struct wined3d_device *device, const struct wined3d_state *state)
{
const struct StateEntry *state_table = context->state_table;
@ -596,7 +596,7 @@ diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
unsigned int i;
WORD map;
@@ -3411,8 +3457,17 @@ BOOL context_apply_draw_state(struct wined3d_context *context,
@@ -3422,8 +3468,17 @@ BOOL context_apply_draw_state(struct wined3d_context *context,
for (i = 0, map = context->stream_info.use_map; map; map >>= 1, ++i)
{
if (map & 1)
@ -614,7 +614,7 @@ diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
}
if (state->index_buffer)
{
@@ -3531,6 +3586,11 @@ struct wined3d_context *context_acquire(const struct wined3d_device *device, str
@@ -3542,6 +3597,11 @@ struct wined3d_context *context_acquire(const struct wined3d_device *device, str
TRACE("device %p, target %p.\n", device, target);
@ -5519,7 +5519,21 @@ diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
const struct wined3d_gl_info *gl_info = context->gl_info;
struct wined3d_viewport vp = state->viewport;
unsigned int width, height;
@@ -4807,7 +4844,11 @@ static void scissorrect(struct wined3d_context *context, const struct wined3d_st
@@ -4660,8 +4697,13 @@ static void viewport_miscpart(struct wined3d_context *context, const struct wine
static void viewport_miscpart_cc(struct wined3d_context *context,
const struct wined3d_state *state, DWORD state_id)
{
+#if !defined(STAGING_CSMT)
const struct wined3d_rendertarget_view *depth_stencil = state->fb->depth_stencil;
const struct wined3d_rendertarget_view *target = state->fb->render_targets[0];
+#else /* STAGING_CSMT */
+ const struct wined3d_rendertarget_view *depth_stencil = state->fb.depth_stencil;
+ const struct wined3d_rendertarget_view *target = state->fb.render_targets[0];
+#endif /* STAGING_CSMT */
float pixel_center_offset = context->swapchain->device->wined3d->flags
& WINED3D_PIXEL_CENTER_INTEGER ? 0.5f : 0.0f;
const struct wined3d_gl_info *gl_info = context->gl_info;
@@ -4856,7 +4898,11 @@ static void scissorrect(struct wined3d_context *context, const struct wined3d_st
}
else
{
@ -5531,7 +5545,7 @@ diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
UINT height;
UINT width;
@@ -4872,7 +4913,11 @@ void state_srgbwrite(struct wined3d_context *context, const struct wined3d_state
@@ -4932,7 +4978,11 @@ void state_srgbwrite(struct wined3d_context *context, const struct wined3d_state
TRACE("context %p, state %p, state_id %#x.\n", context, state, state_id);
@ -7982,8 +7996,8 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -4542,7 +4542,11 @@ void get_projection_matrix(const struct wined3d_context *context, const struct w
float y_offset = context->render_offscreen
@@ -4544,7 +4544,11 @@ void get_projection_matrix(const struct wined3d_context *context, const struct w
float y_offset = flip
? (center_offset - (2.0f * y) - h) / h
: (center_offset - (2.0f * y) - h) / -h;
+#if !defined(STAGING_CSMT)
@ -7992,9 +8006,9 @@ diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
+ enum wined3d_depth_buffer_type zenable = state->fb.depth_stencil ?
+#endif /* STAGING_CSMT */
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;
@@ -5339,7 +5343,11 @@ void gen_ffp_frag_op(const struct wined3d_context *context, const struct wined3d
float z_scale = zenable ? clip_control ? 1.0f : 2.0f : 0.0f;
float z_offset = zenable ? clip_control ? 0.0f : -1.0f : 0.0f;
@@ -5343,7 +5347,11 @@ void gen_ffp_frag_op(const struct wined3d_context *context, const struct wined3d
break;
}
}
@ -8063,7 +8077,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
};
extern struct wined3d_settings wined3d_settings DECLSPEC_HIDDEN;
@@ -1376,7 +1382,11 @@ enum wined3d_query_state
@@ -1377,7 +1383,11 @@ enum wined3d_query_state
struct wined3d_query_ops
{
BOOL (*query_poll)(struct wined3d_query *query);
@ -8075,7 +8089,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
};
struct wined3d_query
@@ -1390,6 +1400,10 @@ struct wined3d_query
@@ -1391,6 +1401,10 @@ struct wined3d_query
const void *data;
DWORD data_size;
const struct wined3d_query_ops *query_ops;
@ -8086,7 +8100,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
};
union wined3d_gl_query_object
@@ -1431,6 +1445,9 @@ struct wined3d_occlusion_query
@@ -1432,6 +1446,9 @@ struct wined3d_occlusion_query
GLuint id;
struct wined3d_context *context;
DWORD samples;
@ -8096,7 +8110,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
};
struct wined3d_timestamp_query
@@ -1446,6 +1463,38 @@ struct wined3d_timestamp_query
@@ -1447,6 +1464,38 @@ 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;
@ -8135,7 +8149,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
struct wined3d_context
{
const struct wined3d_gl_info *gl_info;
@@ -1460,6 +1509,9 @@ struct wined3d_context
@@ -1461,6 +1510,9 @@ 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 */
@ -8145,7 +8159,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
struct wined3d_swapchain *swapchain;
struct
@@ -1568,12 +1620,14 @@ struct wined3d_context
@@ -1569,12 +1621,14 @@ struct wined3d_context
GLuint dummy_arbfp_prog;
};
@ -8160,7 +8174,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
typedef void (*APPLYSTATEFUNC)(struct wined3d_context *ctx, const struct wined3d_state *state, DWORD state_id);
struct StateEntry
@@ -1712,7 +1766,11 @@ void context_alloc_event_query(struct wined3d_context *context,
@@ -1713,7 +1767,11 @@ void context_alloc_event_query(struct wined3d_context *context,
void context_alloc_occlusion_query(struct wined3d_context *context,
struct wined3d_occlusion_query *query) DECLSPEC_HIDDEN;
void context_apply_blit_state(struct wined3d_context *context, const struct wined3d_device *device) DECLSPEC_HIDDEN;
@ -8172,7 +8186,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
UINT rt_count, const struct wined3d_fb_state *fb) DECLSPEC_HIDDEN;
BOOL context_apply_draw_state(struct wined3d_context *context,
const struct wined3d_device *device, const struct wined3d_state *state) DECLSPEC_HIDDEN;
@@ -2361,7 +2419,11 @@ struct wined3d_stream_state
@@ -2362,7 +2420,11 @@ struct wined3d_stream_state
struct wined3d_state
{
DWORD flags;
@ -8184,7 +8198,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
struct wined3d_vertex_declaration *vertex_declaration;
struct wined3d_stream_output stream_output[MAX_STREAM_OUT];
@@ -2408,6 +2470,16 @@ struct wined3d_state
@@ -2409,6 +2471,16 @@ struct wined3d_state
struct wined3d_rasterizer_state *rasterizer_state;
};
@ -8201,7 +8215,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
#define WINED3D_UNMAPPED_STAGE ~0U
/* Multithreaded flag. Removed from the public header to signal that
@@ -2460,16 +2532,21 @@ struct wined3d_device
@@ -2461,16 +2533,21 @@ struct wined3d_device
struct wined3d_rendertarget_view *back_buffer_view;
struct wined3d_swapchain **swapchains;
UINT swapchain_count;
@ -8223,7 +8237,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
/* For rendering to a texture using glCopyTexImage */
GLuint depth_blt_texture;
@@ -2521,9 +2598,23 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL
@@ -2522,9 +2599,23 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL
UINT message, WPARAM wparam, LPARAM lparam, WNDPROC proc) DECLSPEC_HIDDEN;
void device_resource_add(struct wined3d_device *device, struct wined3d_resource *resource) DECLSPEC_HIDDEN;
void device_resource_released(struct wined3d_device *device, struct wined3d_resource *resource) DECLSPEC_HIDDEN;
@ -8247,7 +8261,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
static inline BOOL isStateDirty(const struct wined3d_context *context, DWORD state)
{
@@ -2568,7 +2659,11 @@ struct wined3d_resource
@@ -2569,7 +2660,11 @@ struct wined3d_resource
UINT depth;
UINT size;
DWORD priority;
@ -8259,7 +8273,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
struct list resource_list_entry;
LONG access_count;
@@ -2615,6 +2710,9 @@ void wined3d_resource_free_sysmem(struct wined3d_resource *resource) DECLSPEC_HI
@@ -2616,6 +2711,9 @@ void wined3d_resource_free_sysmem(struct wined3d_resource *resource) DECLSPEC_HI
GLbitfield wined3d_resource_gl_map_flags(DWORD d3d_flags) DECLSPEC_HIDDEN;
GLenum wined3d_resource_gl_legacy_map_flags(DWORD d3d_flags) DECLSPEC_HIDDEN;
BOOL wined3d_resource_is_offscreen(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
@ -8269,7 +8283,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
void wined3d_resource_update_draw_binding(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
/* Tests show that the start address of resources is 32 byte aligned */
@@ -2676,6 +2774,9 @@ struct wined3d_texture
@@ -2677,6 +2775,9 @@ struct wined3d_texture
DWORD flags;
GLenum target;
DWORD update_map_binding;
@ -8279,7 +8293,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
GLuint rb_multisample;
GLuint rb_resolved;
@@ -2712,7 +2813,12 @@ struct wined3d_texture
@@ -2713,7 +2814,12 @@ struct wined3d_texture
unsigned int map_count;
DWORD locations;
@ -8292,7 +8306,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
} sub_resources[1];
};
@@ -2763,11 +2869,23 @@ void wined3d_texture_bind(struct wined3d_texture *texture,
@@ -2764,11 +2870,23 @@ void wined3d_texture_bind(struct wined3d_texture *texture,
struct wined3d_context *context, BOOL srgb) DECLSPEC_HIDDEN;
void wined3d_texture_bind_and_dirtify(struct wined3d_texture *texture,
struct wined3d_context *context, BOOL srgb) DECLSPEC_HIDDEN;
@ -8316,7 +8330,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
struct wined3d_texture_sub_resource *wined3d_texture_get_sub_resource(struct wined3d_texture *texture,
unsigned int sub_resource_idx) DECLSPEC_HIDDEN;
void wined3d_texture_invalidate_location(struct wined3d_texture *texture,
@@ -2780,13 +2898,26 @@ void *wined3d_texture_map_bo_address(const struct wined3d_bo_address *data, size
@@ -2781,13 +2899,26 @@ void *wined3d_texture_map_bo_address(const struct wined3d_bo_address *data, size
const struct wined3d_gl_info *gl_info, GLenum binding, DWORD flags) DECLSPEC_HIDDEN;
BOOL wined3d_texture_prepare_location(struct wined3d_texture *texture, unsigned int sub_resource_idx,
struct wined3d_context *context, DWORD location) DECLSPEC_HIDDEN;
@ -8343,7 +8357,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
void wined3d_texture_upload_data(struct wined3d_texture *texture, unsigned int sub_resource_idx,
const struct wined3d_context *context, const struct wined3d_const_bo_address *data,
unsigned int row_pitch, unsigned int slice_pitch) DECLSPEC_HIDDEN;
@@ -2895,7 +3026,11 @@ void surface_get_drawable_size(const struct wined3d_surface *surface, const stru
@@ -2896,7 +3027,11 @@ void surface_get_drawable_size(const struct wined3d_surface *surface, const stru
unsigned int *width, unsigned int *height) DECLSPEC_HIDDEN;
void surface_load_fb_texture(struct wined3d_surface *surface, BOOL srgb,
struct wined3d_context *context) DECLSPEC_HIDDEN;
@ -8355,7 +8369,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
struct wined3d_context *context, DWORD location) DECLSPEC_HIDDEN;
void surface_modify_ds_location(struct wined3d_surface *surface, DWORD location, UINT w, UINT h) DECLSPEC_HIDDEN;
void surface_set_compatible_renderbuffer(struct wined3d_surface *surface,
@@ -2906,6 +3041,11 @@ HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const P
@@ -2907,6 +3042,11 @@ HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const P
void wined3d_surface_upload_data(struct wined3d_surface *surface, const struct wined3d_gl_info *gl_info,
const struct wined3d_format *format, const RECT *src_rect, UINT src_pitch, const POINT *dst_point,
BOOL srgb, const struct wined3d_const_bo_address *data) DECLSPEC_HIDDEN;
@ -8367,7 +8381,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
void draw_textured_quad(const struct wined3d_surface *src_surface, struct wined3d_context *context,
const RECT *src_rect, const RECT *dst_rect, enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
@@ -2920,6 +3060,12 @@ struct wined3d_sampler
@@ -2921,6 +3061,12 @@ struct wined3d_sampler
GLuint name;
};
@ -8380,7 +8394,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
struct wined3d_vertex_declaration_element
{
const struct wined3d_format *format;
@@ -3015,6 +3161,7 @@ struct wined3d_stateblock
@@ -3016,6 +3162,7 @@ struct wined3d_stateblock
void stateblock_init_contained_states(struct wined3d_stateblock *stateblock) DECLSPEC_HIDDEN;
void state_cleanup(struct wined3d_state *state) DECLSPEC_HIDDEN;
@ -8388,7 +8402,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
void state_init(struct wined3d_state *state, struct wined3d_fb_state *fb,
const struct wined3d_gl_info *gl_info, const struct wined3d_d3d_info *d3d_info,
DWORD flags) DECLSPEC_HIDDEN;
@@ -3028,54 +3175,150 @@ enum wined3d_push_constants
@@ -3029,54 +3176,150 @@ enum wined3d_push_constants
WINED3D_PUSH_CONSTANTS_PS_I,
WINED3D_PUSH_CONSTANTS_VS_B,
WINED3D_PUSH_CONSTANTS_PS_B,
@ -8539,7 +8553,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
void wined3d_cs_emit_set_rasterizer_state(struct wined3d_cs *cs,
struct wined3d_rasterizer_state *rasterizer_state) DECLSPEC_HIDDEN;
void wined3d_cs_emit_set_render_state(struct wined3d_cs *cs,
@@ -3105,6 +3348,7 @@ void wined3d_cs_emit_set_transform(struct wined3d_cs *cs, enum wined3d_transform
@@ -3106,6 +3349,7 @@ void wined3d_cs_emit_set_transform(struct wined3d_cs *cs, enum wined3d_transform
void wined3d_cs_emit_set_vertex_declaration(struct wined3d_cs *cs,
struct wined3d_vertex_declaration *declaration) DECLSPEC_HIDDEN;
void wined3d_cs_emit_set_viewport(struct wined3d_cs *cs, const struct wined3d_viewport *viewport) DECLSPEC_HIDDEN;
@ -8547,7 +8561,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
void wined3d_cs_emit_unload_resource(struct wined3d_cs *cs, struct wined3d_resource *resource) DECLSPEC_HIDDEN;
HRESULT wined3d_cs_map(struct wined3d_cs *cs, struct wined3d_resource *resource, unsigned int sub_resource_idx,
struct wined3d_map_desc *map_desc, const struct wined3d_box *box, unsigned int flags) DECLSPEC_HIDDEN;
@@ -3116,6 +3360,24 @@ static inline void wined3d_cs_push_constants(struct wined3d_cs *cs, enum wined3d
@@ -3117,6 +3361,24 @@ static inline void wined3d_cs_push_constants(struct wined3d_cs *cs, enum wined3d
{
cs->ops->push_constants(cs, p, start_idx, count, constants);
}
@ -8572,7 +8586,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
/* TODO: Add tests and support for FLOAT16_4 POSITIONT, D3DCOLOR position, other
* fixed function semantics as D3DCOLOR or FLOAT16 */
@@ -3142,6 +3404,9 @@ struct wined3d_buffer
@@ -3143,6 +3405,9 @@ struct wined3d_buffer
GLenum buffer_object_usage;
GLenum buffer_type_hint;
DWORD flags;
@ -8582,7 +8596,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
void *map_ptr;
struct wined3d_map_range *maps;
@@ -3166,11 +3431,19 @@ void buffer_get_memory(struct wined3d_buffer *buffer, struct wined3d_context *co
@@ -3167,11 +3432,19 @@ void buffer_get_memory(struct wined3d_buffer *buffer, struct wined3d_context *co
BYTE *buffer_get_sysmem(struct wined3d_buffer *buffer, struct wined3d_context *context) DECLSPEC_HIDDEN;
void buffer_internal_preload(struct wined3d_buffer *buffer, struct wined3d_context *context,
const struct wined3d_state *state) DECLSPEC_HIDDEN;
@ -8602,7 +8616,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
struct wined3d_rendertarget_view
{
@@ -3232,7 +3505,12 @@ struct wined3d_unordered_access_view
@@ -3233,7 +3506,12 @@ struct wined3d_unordered_access_view
struct wined3d_swapchain_ops
{
void (*swapchain_present)(struct wined3d_swapchain *swapchain,
@ -8615,7 +8629,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
void (*swapchain_frontbuffer_updated)(struct wined3d_swapchain *swapchain);
};
@@ -3269,6 +3547,10 @@ struct wined3d_swapchain
@@ -3270,6 +3548,10 @@ struct wined3d_swapchain
void wined3d_swapchain_activate(struct wined3d_swapchain *swapchain, BOOL activate) DECLSPEC_HIDDEN;
struct wined3d_context *swapchain_get_context(struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;