[PATCH v2 1/2] d3d11: Turn MultisampleEnable into a stub.
Zebediah Figura
z.figura12 at gmail.com
Tue May 4 22:56:51 CDT 2021
The actual effect of this is to change the algorithm for line multisampling.
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
dlls/d3d11/device.c | 17 +++--------------
dlls/d3d11/state.c | 7 +++++++
2 files changed, 10 insertions(+), 14 deletions(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index ee6ecd2c29c..a2c6c7a75ae 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -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();
}
diff --git a/dlls/d3d11/state.c b/dlls/d3d11/state.c
index 6b287176536..d31ea16bbe8 100644
--- a/dlls/d3d11/state.c
+++ b/dlls/d3d11/state.c
@@ -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,
--
2.30.2
More information about the wine-devel
mailing list