[PATCH 1/8] wined3d: Get rid of valid_rt_mask.

Józef Kucia jkucia at codeweavers.com
Sun Mar 3 12:55:20 CST 2019


Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
 dlls/wined3d/adapter_gl.c      | 4 ----
 dlls/wined3d/context.c         | 9 +++++----
 dlls/wined3d/wined3d_private.h | 1 -
 3 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/dlls/wined3d/adapter_gl.c b/dlls/wined3d/adapter_gl.c
index 803ebda37556..538e0c1bb0c2 100644
--- a/dlls/wined3d/adapter_gl.c
+++ b/dlls/wined3d/adapter_gl.c
@@ -3738,10 +3738,6 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter,
 
     TRACE("Max texture stages: %u.\n", d3d_info->limits.ffp_blend_stages);
 
-    d3d_info->valid_rt_mask = 0;
-    for (i = 0; i < gl_info->limits.buffers; ++i)
-        d3d_info->valid_rt_mask |= (1u << i);
-
     if (!d3d_info->shader_color_key)
     {
         /* 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 393b336c53e5..122ed709610c 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -3147,11 +3147,12 @@ BOOL context_apply_clear_state(struct wined3d_context *context, const struct win
     return TRUE;
 }
 
-static DWORD find_draw_buffers_mask(const struct wined3d_context *context, const struct wined3d_state *state)
+static unsigned int find_draw_buffers_mask(const struct wined3d_context *context, const struct wined3d_state *state)
 {
     struct wined3d_rendertarget_view * const *rts = state->fb->render_targets;
     struct wined3d_shader *ps = state->shader[WINED3D_SHADER_TYPE_PIXEL];
-    DWORD rt_mask, mask;
+    const struct wined3d_gl_info *gl_info = context->gl_info;
+    unsigned int rt_mask, mask;
     unsigned int i;
 
     if (wined3d_settings.offscreen_rendering_mode != ORM_FBO)
@@ -3160,7 +3161,7 @@ static DWORD find_draw_buffers_mask(const struct wined3d_context *context, const
         return context_generate_rt_mask_from_resource(rts[0]->resource);
 
     rt_mask = ps ? ps->reg_maps.rt_mask : 1;
-    rt_mask &= context->d3d_info->valid_rt_mask;
+    rt_mask &= (1u << gl_info->limits.buffers) - 1;
 
     mask = rt_mask;
     while (mask)
@@ -3176,7 +3177,7 @@ static DWORD find_draw_buffers_mask(const struct wined3d_context *context, const
 /* Context activation is done by the caller. */
 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);
+    unsigned int rt_mask = find_draw_buffers_mask(context, state);
     const struct wined3d_fb_state *fb = state->fb;
     DWORD color_location = 0;
     DWORD *cur_mask;
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 1b705824a89b..125efebacf2a 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -195,7 +195,6 @@ struct wined3d_d3d_info
 {
     struct wined3d_d3d_limits limits;
     struct wined3d_ffp_attrib_ops ffp_attrib_ops;
-    DWORD valid_rt_mask;
     DWORD wined3d_creation_flags;
     unsigned int xyzrhw : 1;
     unsigned int emulated_flatshading : 1;
-- 
2.19.2




More information about the wine-devel mailing list