Henri Verbeet : d3d10core: Implement d3d10_device_RSGetScissorRects().
Alexandre Julliard
julliard at winehq.org
Thu Nov 22 13:48:22 CST 2012
Module: wine
Branch: master
Commit: 9e97bff539afbb77d01bd9e24db4b88bed49fdbd
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9e97bff539afbb77d01bd9e24db4b88bed49fdbd
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Thu Nov 22 13:45:13 2012 +0100
d3d10core: Implement d3d10_device_RSGetScissorRects().
---
dlls/d3d10core/device.c | 17 ++++++++++++++++-
1 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/dlls/d3d10core/device.c b/dlls/d3d10core/device.c
index facacbd..78c9d1b 100644
--- a/dlls/d3d10core/device.c
+++ b/dlls/d3d10core/device.c
@@ -742,7 +742,22 @@ static void STDMETHODCALLTYPE d3d10_device_RSGetViewports(ID3D10Device *iface,
static void STDMETHODCALLTYPE d3d10_device_RSGetScissorRects(ID3D10Device *iface, UINT *rect_count, D3D10_RECT *rects)
{
- FIXME("iface %p, rect_count %p, rects %p stub!\n", iface, rect_count, rects);
+ struct d3d10_device *device = impl_from_ID3D10Device(iface);
+
+ TRACE("iface %p, rect_count %p, rects %p.\n", iface, rect_count, rects);
+
+ if (!rects)
+ {
+ *rect_count = 1;
+ return;
+ }
+
+ if (!*rect_count)
+ return;
+
+ wined3d_device_get_scissor_rect(device->wined3d_device, rects);
+ if (*rect_count > 1)
+ memset(&rects[1], 0, (*rect_count - 1) * sizeof(*rects));
}
static HRESULT STDMETHODCALLTYPE d3d10_device_GetDeviceRemovedReason(ID3D10Device *iface)
More information about the wine-cvs
mailing list