[PATCH 1/5] wined3d: Get rid of the "StrictDrawOrdering" setting.
Henri Verbeet
hverbeet at codeweavers.com
Thu Mar 22 04:52:43 CDT 2018
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
dlls/wined3d/arb_program_shader.c | 5 ++---
dlls/wined3d/buffer.c | 2 --
dlls/wined3d/context.c | 6 ------
dlls/wined3d/device.c | 5 ++---
dlls/wined3d/surface.c | 14 +++-----------
dlls/wined3d/texture.c | 3 ---
dlls/wined3d/wined3d_main.c | 8 --------
dlls/wined3d/wined3d_private.h | 1 -
8 files changed, 7 insertions(+), 37 deletions(-)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index e9c9d7d1bfb..4b4cd4e0baa 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -7886,9 +7886,8 @@ static DWORD arbfp_blitter_blit(struct wined3d_blitter *blitter, enum wined3d_bl
/* Leave the opengl state valid for blitting */
arbfp_blit_unset(context->gl_info);
- if (wined3d_settings.strict_draw_ordering
- || (dst_texture->swapchain && (dst_texture->swapchain->front_buffer == dst_texture)))
- context->gl_info->gl_ops.gl.p_glFlush(); /* Flush to ensure ordering across contexts. */
+ if (dst_texture->swapchain && (dst_texture->swapchain->front_buffer == dst_texture))
+ context->gl_info->gl_ops.gl.p_glFlush();
return dst_location;
}
diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
index 1055326ede1..5b924704dff 100644
--- a/dlls/wined3d/buffer.c
+++ b/dlls/wined3d/buffer.c
@@ -1183,8 +1183,6 @@ static void wined3d_buffer_unmap(struct wined3d_buffer *buffer)
}
GL_EXTCALL(glUnmapBuffer(buffer->buffer_type_hint));
- if (wined3d_settings.strict_draw_ordering)
- gl_info->gl_ops.gl.p_glFlush(); /* Flush to ensure ordering across contexts. */
context_release(context);
buffer_clear_dirty_areas(buffer);
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index 34102c76784..db32f1dc978 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -4322,9 +4322,6 @@ void dispatch_compute(struct wined3d_device *device, const struct wined3d_state
GL_EXTCALL(glMemoryBarrier(GL_ALL_BARRIER_BITS));
checkGLcall("glMemoryBarrier");
- if (wined3d_settings.strict_draw_ordering)
- gl_info->gl_ops.gl.p_glFlush(); /* Flush to ensure ordering across contexts. */
-
context_release(context);
}
@@ -4985,8 +4982,5 @@ void draw_primitive(struct wined3d_device *device, const struct wined3d_state *s
for (i = 0; i < context->buffer_fence_count; ++i)
wined3d_fence_issue(context->buffer_fences[i], device);
- if (wined3d_settings.strict_draw_ordering)
- gl_info->gl_ops.gl.p_glFlush(); /* Flush to ensure ordering across contexts. */
-
context_release(context);
}
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index c5517f5fcde..d4e39db26bd 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -457,9 +457,8 @@ void device_clear_render_targets(struct wined3d_device *device, UINT rt_count, c
}
}
- if (wined3d_settings.strict_draw_ordering || (flags & WINED3DCLEAR_TARGET
- && target->swapchain && target->swapchain->front_buffer == target))
- gl_info->gl_ops.gl.p_glFlush(); /* Flush to ensure ordering across contexts. */
+ if (flags & WINED3DCLEAR_TARGET && target->swapchain && target->swapchain->front_buffer == target)
+ gl_info->gl_ops.gl.p_glFlush();
context_release(context);
}
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 2a725e61e1c..ea6a9848535 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -337,9 +337,6 @@ static void texture2d_depth_blt_fbo(const struct wined3d_device *device, struct
gl_info->fbo_ops.glBlitFramebuffer(src_rect->left, src_rect->top, src_rect->right, src_rect->bottom,
dst_rect->left, dst_rect->top, dst_rect->right, dst_rect->bottom, gl_mask, GL_NEAREST);
checkGLcall("glBlitFramebuffer()");
-
- if (wined3d_settings.strict_draw_ordering)
- gl_info->gl_ops.gl.p_glFlush(); /* Flush to ensure ordering across contexts. */
}
static BOOL is_multisample_location(const struct wined3d_texture *texture, DWORD location)
@@ -489,8 +486,7 @@ static void texture2d_blt_fbo(const struct wined3d_device *device, struct wined3
dst_rect->left, dst_rect->top, dst_rect->right, dst_rect->bottom, GL_COLOR_BUFFER_BIT, gl_filter);
checkGLcall("glBlitFramebuffer()");
- if (wined3d_settings.strict_draw_ordering || (dst_location == WINED3D_LOCATION_DRAWABLE
- && dst_texture->swapchain->front_buffer == dst_texture))
+ if (dst_location == WINED3D_LOCATION_DRAWABLE && dst_texture->swapchain->front_buffer == dst_texture)
gl_info->gl_ops.gl.p_glFlush();
if (restore_texture)
@@ -1741,9 +1737,6 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_texture *dst_texture, un
checkGLcall("glDeleteTextures(1, &backup)");
}
- if (wined3d_settings.strict_draw_ordering)
- gl_info->gl_ops.gl.p_glFlush(); /* Flush to ensure ordering across contexts. */
-
context_release(context);
/* The texture is now most up to date - If the surface is a render target
@@ -2662,9 +2655,8 @@ static DWORD ffp_blitter_blit(struct wined3d_blitter *blitter, enum wined3d_blit
checkGLcall("glDisable(GL_TEXTURE_RECTANGLE_ARB)");
}
- if (wined3d_settings.strict_draw_ordering
- || (dst_texture->swapchain && dst_texture->swapchain->front_buffer == dst_texture))
- gl_info->gl_ops.gl.p_glFlush(); /* Flush to ensure ordering across contexts. */
+ if (dst_texture->swapchain && dst_texture->swapchain->front_buffer == dst_texture)
+ gl_info->gl_ops.gl.p_glFlush();
/* Restore the color key parameters */
wined3d_texture_set_color_key(src_texture, WINED3D_CKEY_SRC_BLT,
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
index 187e2a246b6..9e6b599c8e9 100644
--- a/dlls/wined3d/texture.c
+++ b/dlls/wined3d/texture.c
@@ -1931,9 +1931,6 @@ void wined3d_texture_upload_data(struct wined3d_texture *texture, unsigned int s
}
heap_free(converted_mem);
- if (wined3d_settings.strict_draw_ordering)
- gl_info->gl_ops.gl.p_glFlush();
-
if (gl_info->quirks & WINED3D_QUIRK_FBO_TEX_UPDATE)
{
struct wined3d_device *device = texture->resource.device;
diff --git a/dlls/wined3d/wined3d_main.c b/dlls/wined3d/wined3d_main.c
index b57bcdcc873..56fae6b3f96 100644
--- a/dlls/wined3d/wined3d_main.c
+++ b/dlls/wined3d/wined3d_main.c
@@ -83,7 +83,6 @@ struct wined3d_settings wined3d_settings =
NULL, /* No wine logo by default */
TRUE, /* Prefer multisample textures to multisample renderbuffers. */
~0u, /* Don't force a specific sample count by default. */
- FALSE, /* No strict draw ordering. */
FALSE, /* Don't range check relative addressing indices in float constants. */
~0U, /* No VS shader model limit by default. */
~0U, /* No HS shader model limit by default. */
@@ -290,13 +289,6 @@ static BOOL wined3d_dll_init(HINSTANCE hInstDLL)
if (!get_config_key_dword(hkey, appkey, "SampleCount", &wined3d_settings.sample_count))
ERR_(winediag)("Forcing sample count to %u. This may not be compatible with all applications.\n",
wined3d_settings.sample_count);
- if (!get_config_key(hkey, appkey, "StrictDrawOrdering", buffer, size)
- && !strcmp(buffer,"enabled"))
- {
- ERR_(winediag)("\"StrictDrawOrdering\" is deprecated, please use \"csmt\" instead.\n");
- TRACE("Enforcing strict draw ordering.\n");
- wined3d_settings.strict_draw_ordering = TRUE;
- }
if (!get_config_key(hkey, appkey, "CheckFloatConstants", buffer, size)
&& !strcmp(buffer, "enabled"))
{
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index fdbcd7c3795..5e8734e7a97 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -395,7 +395,6 @@ struct wined3d_settings
char *logo;
unsigned int multisample_textures;
unsigned int sample_count;
- BOOL strict_draw_ordering;
BOOL check_float_constants;
unsigned int max_sm_vs;
unsigned int max_sm_hs;
--
2.11.0
More information about the wine-devel
mailing list