d3d11: Turn MultisampleEnable into a stub.

The actual effect of this is to change the algorithm for line multisampling.

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:
Zebediah Figura 2021-05-04 22:56:51 -05:00 committed by Alexandre Julliard
parent d47a711e98
commit ca1e2f5cce
2 changed files with 10 additions and 14 deletions

View file

@ -1142,25 +1142,14 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_RSSetState(ID3D11DeviceCon
ID3D11RasterizerState *rasterizer_state)
{
struct d3d11_immediate_context *context = impl_from_ID3D11DeviceContext1(iface);
struct d3d_device *device = device_from_immediate_ID3D11DeviceContext1(iface);
struct d3d_rasterizer_state *rasterizer_state_impl;
const D3D11_RASTERIZER_DESC *desc;
TRACE("iface %p, rasterizer_state %p.\n", iface, rasterizer_state);
wined3d_mutex_lock();
if (!(rasterizer_state_impl = unsafe_impl_from_ID3D11RasterizerState(rasterizer_state)))
{
wined3d_device_context_set_rasterizer_state(context->wined3d_context, NULL);
wined3d_device_set_render_state(device->wined3d_device, WINED3D_RS_MULTISAMPLEANTIALIAS, FALSE);
wined3d_mutex_unlock();
return;
}
wined3d_device_context_set_rasterizer_state(context->wined3d_context, rasterizer_state_impl->wined3d_state);
desc = &rasterizer_state_impl->desc;
wined3d_device_set_render_state(device->wined3d_device, WINED3D_RS_MULTISAMPLEANTIALIAS, desc->MultisampleEnable);
rasterizer_state_impl = unsafe_impl_from_ID3D11RasterizerState(rasterizer_state);
wined3d_device_context_set_rasterizer_state(context->wined3d_context,
rasterizer_state_impl ? rasterizer_state_impl->wined3d_state : NULL);
wined3d_mutex_unlock();
}

View file

@ -1152,6 +1152,13 @@ static HRESULT d3d_rasterizer_state_init(struct d3d_rasterizer_state *state, str
wined3d_desc.scissor = desc->ScissorEnable;
wined3d_desc.line_antialias = desc->AntialiasedLineEnable;
if (desc->MultisampleEnable)
{
static unsigned int once;
if (!once++)
FIXME("Ignoring MultisampleEnable %#x.\n", desc->MultisampleEnable);
}
/* We cannot fail after creating a wined3d_rasterizer_state object. It
* would lead to double free. */
if (FAILED(hr = wined3d_rasterizer_state_create(device->wined3d_device, &wined3d_desc,