On Wed, 4 Mar 2020 at 03:27, Zebediah Figura z.figura12@gmail.com wrote:
Signed-off-by: Zebediah Figura z.figura12@gmail.com
dlls/d3d11/device.c | 20 ---------- dlls/d3d11/state.c | 8 +++- dlls/wined3d/context.c | 7 ++-- dlls/wined3d/cs.c | 6 +-- dlls/wined3d/device.c | 62 +++++++++++++++++++++++++----- dlls/wined3d/state.c | 85 +++++++++++++++++++++--------------------- dlls/wined3d/surface.c | 4 +- include/wine/wined3d.h | 6 +++ 8 files changed, 115 insertions(+), 83 deletions(-)
This moves a bunch of things at the same time. That isn't necessarily wrong, but does make it harder to bisect if something were to inadvertently go wrong.
- if (set_rasterizer_state)
- {
struct wined3d_rasterizer_state *rasterizer_state;
struct wined3d_rasterizer_state_desc desc;
union
{
DWORD d;
float f;
} bias;
desc.fill_mode = state->rs[WINED3D_RS_FILLMODE];
desc.cull_mode = state->rs[WINED3D_RS_CULLMODE];
desc.front_ccw = FALSE;
bias.d = state->rs[WINED3D_RS_DEPTHBIAS];
desc.depth_bias = bias.f;
desc.depth_bias_clamp = 0.0f;
bias.d = state->rs[WINED3D_RS_SLOPESCALEDEPTHBIAS];
desc.scale_bias = bias.f;
desc.depth_clip = TRUE;
desc.scissor = state->rs[WINED3D_RS_SCISSORTESTENABLE];
desc.line_antialias = state->rs[WINED3D_RS_ANTIALIASEDLINEENABLE];
if (SUCCEEDED(wined3d_rasterizer_state_create(device, &desc,
NULL, &wined3d_null_parent_ops, &rasterizer_state)))
{
wined3d_device_set_rasterizer_state(device, rasterizer_state);
wined3d_rasterizer_state_decref(rasterizer_state);
}
- }
Recreating state objects here doesn't seem ideal. (For comparison, look at sampler objects in sampler().)