Added patch to silence noisy FIXME in gl_stencil_op.

This commit is contained in:
Sebastian Lackner 2017-01-08 17:50:50 +01:00
parent 5530538a2b
commit 024a141714
4 changed files with 46 additions and 11 deletions

View File

@ -7849,6 +7849,9 @@ fi
# Patchset wined3d-Silence_FIXMEs
# |
# | This patchset fixes the following Wine bugs:
# | * [#42140] Silence noisy FIXME in gl_stencil_op
# |
# | Modified files:
# | * dlls/wined3d/resource.c, dlls/wined3d/state.c, dlls/wined3d/surface.c, dlls/wined3d/swapchain.c, dlls/wined3d/texture.c
# |
@ -7860,6 +7863,7 @@ if test "$enable_wined3d_Silence_FIXMEs" -eq 1; then
patch_apply wined3d-Silence_FIXMEs/0005-wined3d-Silence-repeated-wined3d_swapchain_present-F.patch
patch_apply wined3d-Silence_FIXMEs/0006-wined3d-Silence-extremely-noisy-FIXME-in-wined3d_tex.patch
patch_apply wined3d-Silence_FIXMEs/0007-wined3d-Display-FIXME-only-once-when-blen-op-is-0.patch
patch_apply wined3d-Silence_FIXMEs/0008-wined3d-Silence-noisy-fixme-Unrecognized-stencil-op-.patch
(
echo '+ { "Sebastian Lackner", "wined3d: Silence repeated '\''Unhandled blend factor 0'\'' messages.", 1 },';
echo '+ { "Christian Costa", "wined3d: Display FIXME for cmp function 0 only once.", 1 },';
@ -7868,6 +7872,7 @@ if test "$enable_wined3d_Silence_FIXMEs" -eq 1; then
echo '+ { "Sebastian Lackner", "wined3d: Silence repeated wined3d_swapchain_present FIXME.", 1 },';
echo '+ { "Sebastian Lackner", "wined3d: Silence extremely noisy FIXME in wined3d_texture_add_dirty_region.", 1 },';
echo '+ { "Christian Costa", "wined3d: Display FIXME only once when blen op is 0.", 1 },';
echo '+ { "Christian Costa", "wined3d: Silence noisy fixme Unrecognized stencil op 0.", 1 },';
) >> "$patchlist"
fi

View File

@ -6394,7 +6394,7 @@ diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
/* Disable blending in all cases even without pixelshaders.
* With blending on we could face a big performance penalty.
@@ -858,7 +870,11 @@ static void state_stencil(struct wined3d_context *context, const struct wined3d_
@@ -861,7 +873,11 @@ static void state_stencil(struct wined3d_context *context, const struct wined3d_
GLint depthFail_back;
/* No stencil test without a stencil buffer. */
@ -6406,7 +6406,7 @@ diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
{
gl_info->gl_ops.gl.p_glDisable(GL_STENCIL_TEST);
checkGLcall("glDisable GL_STENCIL_TEST");
@@ -954,7 +970,11 @@ static void state_stencil(struct wined3d_context *context, const struct wined3d_
@@ -957,7 +973,11 @@ static void state_stencil(struct wined3d_context *context, const struct wined3d_
static void state_stencilwrite2s(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
{
@ -6418,7 +6418,7 @@ diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
const struct wined3d_gl_info *gl_info = context->gl_info;
GL_EXTCALL(glActiveStencilFaceEXT(GL_BACK));
@@ -968,7 +988,11 @@ static void state_stencilwrite2s(struct wined3d_context *context, const struct w
@@ -971,7 +991,11 @@ static void state_stencilwrite2s(struct wined3d_context *context, const struct w
static void state_stencilwrite(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
{
@ -6430,7 +6430,7 @@ diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
const struct wined3d_gl_info *gl_info = context->gl_info;
gl_info->gl_ops.gl.p_glStencilMask(mask);
@@ -1706,7 +1730,11 @@ static void state_depthbias(struct wined3d_context *context, const struct wined3
@@ -1709,7 +1733,11 @@ static void state_depthbias(struct wined3d_context *context, const struct wined3
if (state->render_states[WINED3D_RS_SLOPESCALEDEPTHBIAS]
|| state->render_states[WINED3D_RS_DEPTHBIAS])
{
@ -6442,7 +6442,7 @@ diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
float scale;
union
@@ -3639,7 +3667,11 @@ static void sampler(struct wined3d_context *context, const struct wined3d_state
@@ -3642,7 +3670,11 @@ static void sampler(struct wined3d_context *context, const struct wined3d_state
}
else
{
@ -6454,7 +6454,7 @@ diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
{
ERR("Failed to create sampler.\n");
sampler = NULL;
@@ -4620,8 +4652,13 @@ static void vertexdeclaration(struct wined3d_context *context, const struct wine
@@ -4623,8 +4655,13 @@ static void vertexdeclaration(struct wined3d_context *context, const struct wine
static void viewport_miscpart(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
{
@ -6468,7 +6468,7 @@ 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;
@@ -4633,7 +4670,11 @@ static void viewport_miscpart(struct wined3d_context *context, const struct wine
@@ -4636,7 +4673,11 @@ static void viewport_miscpart(struct wined3d_context *context, const struct wine
if (vp.height > target->height)
vp.height = target->height;
@ -6480,7 +6480,7 @@ diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
}
else if (depth_stencil)
{
@@ -4660,8 +4701,13 @@ static void viewport_miscpart(struct wined3d_context *context, const struct wine
@@ -4663,8 +4704,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)
{
@ -6494,7 +6494,7 @@ diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
float pixel_center_offset = context->d3d_info->wined3d_creation_flags
& WINED3D_PIXEL_CENTER_INTEGER ? 0.5f : 0.0f;
const struct wined3d_gl_info *gl_info = context->gl_info;
@@ -4675,7 +4721,11 @@ static void viewport_miscpart_cc(struct wined3d_context *context,
@@ -4678,7 +4724,11 @@ static void viewport_miscpart_cc(struct wined3d_context *context,
if (vp.height > target->height)
vp.height = target->height;
@ -6506,7 +6506,7 @@ diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
}
else if (depth_stencil)
{
@@ -4856,11 +4906,19 @@ static void scissorrect(struct wined3d_context *context, const struct wined3d_st
@@ -4859,11 +4909,19 @@ static void scissorrect(struct wined3d_context *context, const struct wined3d_st
}
else
{
@ -6526,7 +6526,7 @@ diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
gl_info->gl_ops.gl.p_glScissor(r->left, height - r->bottom, r->right - r->left, r->bottom - r->top);
}
checkGLcall("glScissor");
@@ -4932,7 +4990,11 @@ void state_srgbwrite(struct wined3d_context *context, const struct wined3d_state
@@ -4935,7 +4993,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);

View File

@ -0,0 +1,29 @@
From 7a7067db1ba6ab620bb7979ee081fb846d95016f Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Sun, 8 Jan 2017 00:35:27 +0100
Subject: wined3d: Silence noisy fixme Unrecognized stencil op 0.
---
dlls/wined3d/state.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
index f7e36676a83..b990b31acb5 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -848,8 +848,11 @@ static GLenum gl_stencil_op(enum wined3d_stencil_op op)
case WINED3D_STENCIL_OP_DECR:
return GL_DECR_WRAP;
default:
- FIXME("Unrecognized stencil op %#x.\n", op);
+ {
+ static int once;
+ if (op || !once++) FIXME("Unrecognized stencil op %#x.\n", op);
return GL_KEEP;
+ }
}
}
--
2.11.0

View File

@ -1,2 +1,3 @@
Fixes: Silence repeated FIXME message in surface_cpu_blt
Fixes: [42140] Silence noisy FIXME in gl_stencil_op
Category: stable