wined3d: Move the source blend state to wined3d_blend_state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
04453496a2
commit
f4f4a42349
|
@ -740,7 +740,6 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMSetBlendState(ID3D11Devi
|
|||
{
|
||||
const D3D11_RENDER_TARGET_BLEND_DESC *d = &desc->RenderTarget[0];
|
||||
|
||||
wined3d_device_set_render_state(device->wined3d_device, WINED3D_RS_SRCBLEND, d->SrcBlend);
|
||||
wined3d_device_set_render_state(device->wined3d_device, WINED3D_RS_DESTBLEND, d->DestBlend);
|
||||
wined3d_device_set_render_state(device->wined3d_device, WINED3D_RS_BLENDOP, d->BlendOp);
|
||||
wined3d_device_set_render_state(device->wined3d_device, WINED3D_RS_SEPARATEALPHABLENDENABLE, TRUE);
|
||||
|
|
|
@ -390,6 +390,7 @@ HRESULT d3d_blend_state_create(struct d3d_device *device, const D3D11_BLEND_DESC
|
|||
|
||||
wined3d_desc.alpha_to_coverage = desc->AlphaToCoverageEnable;
|
||||
wined3d_desc.enable = desc->RenderTarget[0].BlendEnable;
|
||||
wined3d_desc.src = desc->RenderTarget[0].SrcBlend;
|
||||
|
||||
/* We cannot fail after creating a wined3d_blend_state object. It
|
||||
* would lead to double free. */
|
||||
|
|
|
@ -3582,6 +3582,7 @@ void CDECL wined3d_device_apply_stateblock(struct wined3d_device *device,
|
|||
{
|
||||
case WINED3D_RS_BLENDFACTOR:
|
||||
case WINED3D_RS_ALPHABLENDENABLE:
|
||||
case WINED3D_RS_SRCBLEND:
|
||||
set_blend_state = TRUE;
|
||||
break;
|
||||
|
||||
|
@ -3653,6 +3654,7 @@ void CDECL wined3d_device_apply_stateblock(struct wined3d_device *device,
|
|||
if (state->rs[WINED3D_RS_ADAPTIVETESS_Y] == WINED3DFMT_ATOC)
|
||||
desc.alpha_to_coverage = TRUE;
|
||||
desc.enable = state->rs[WINED3D_RS_ALPHABLENDENABLE];
|
||||
desc.src = state->rs[WINED3D_RS_SRCBLEND];
|
||||
|
||||
if (wined3d_bitmap_is_set(changed->renderState, WINED3D_RS_BLENDFACTOR))
|
||||
wined3d_color_from_d3dcolor(&colour, state->rs[WINED3D_RS_BLENDFACTOR]);
|
||||
|
|
|
@ -557,8 +557,7 @@ static void state_blend(struct wined3d_context *context, const struct wined3d_st
|
|||
gl_info->gl_ops.gl.p_glEnable(GL_BLEND);
|
||||
checkGLcall("glEnable(GL_BLEND)");
|
||||
|
||||
gl_blend_from_d3d(&src_blend, &dst_blend,
|
||||
state->render_states[WINED3D_RS_SRCBLEND],
|
||||
gl_blend_from_d3d(&src_blend, &dst_blend, b->desc.src,
|
||||
state->render_states[WINED3D_RS_DESTBLEND], rt_format);
|
||||
|
||||
/* Re-apply BLENDOP(ALPHA) because of a possible SEPARATEALPHABLENDENABLE change */
|
||||
|
@ -4504,7 +4503,6 @@ const struct wined3d_state_entry_template misc_state_template[] =
|
|||
{ STATE_COMPUTE_UNORDERED_ACCESS_VIEW_BINDING, { STATE_COMPUTE_UNORDERED_ACCESS_VIEW_BINDING, state_uav_warn }, WINED3D_GL_EXT_NONE },
|
||||
{ STATE_STREAM_OUTPUT, { STATE_STREAM_OUTPUT, state_so, }, WINED3D_GL_VERSION_3_2 },
|
||||
{ STATE_STREAM_OUTPUT, { STATE_STREAM_OUTPUT, state_so_warn, }, WINED3D_GL_EXT_NONE },
|
||||
{ STATE_RENDER(WINED3D_RS_SRCBLEND), { STATE_BLEND, NULL }, WINED3D_GL_EXT_NONE },
|
||||
{ STATE_RENDER(WINED3D_RS_DESTBLEND), { STATE_BLEND, NULL }, WINED3D_GL_EXT_NONE },
|
||||
{ STATE_RENDER(WINED3D_RS_EDGEANTIALIAS), { STATE_RENDER(WINED3D_RS_EDGEANTIALIAS), state_line_antialias}, WINED3D_GL_EXT_NONE },
|
||||
{ STATE_RENDER(WINED3D_RS_SEPARATEALPHABLENDENABLE), { STATE_BLEND, NULL }, WINED3D_GL_EXT_NONE },
|
||||
|
@ -5419,7 +5417,7 @@ static void validate_state_table(struct wined3d_state_entry *state_table)
|
|||
{ 1, 1},
|
||||
{ 3, 3},
|
||||
{ 8, 8},
|
||||
{ 17, 18},
|
||||
{ 17, 19},
|
||||
{ 21, 22},
|
||||
{ 27, 27},
|
||||
{ 42, 45},
|
||||
|
|
|
@ -2030,6 +2030,7 @@ struct wined3d_blend_state_desc
|
|||
{
|
||||
BOOL alpha_to_coverage;
|
||||
BOOL enable;
|
||||
enum wined3d_blend src;
|
||||
};
|
||||
|
||||
struct wined3d_rasterizer_state_desc
|
||||
|
|
Loading…
Reference in New Issue