[PATCH 2/4] wined3d: wined3d_device_set_transform() never fails.
Henri Verbeet
hverbeet at codeweavers.com
Wed Sep 12 04:30:52 CDT 2012
---
dlls/d3d8/device.c | 5 ++---
dlls/d3d9/device.c | 5 ++---
dlls/ddraw/device.c | 21 ++++++++-------------
dlls/ddraw/viewport.c | 6 ++----
dlls/wined3d/device.c | 13 ++++++-------
include/wine/wined3d.h | 2 +-
6 files changed, 21 insertions(+), 31 deletions(-)
diff --git a/dlls/d3d8/device.c b/dlls/d3d8/device.c
index 25f7534..20c5fe3 100644
--- a/dlls/d3d8/device.c
+++ b/dlls/d3d8/device.c
@@ -1261,16 +1261,15 @@ static HRESULT WINAPI d3d8_device_SetTransform(IDirect3DDevice8 *iface,
D3DTRANSFORMSTATETYPE state, const D3DMATRIX *matrix)
{
struct d3d8_device *device = impl_from_IDirect3DDevice8(iface);
- HRESULT hr;
TRACE("iface %p, state %#x, matrix %p.\n", iface, state, matrix);
/* Note: D3DMATRIX is compatible with struct wined3d_matrix. */
wined3d_mutex_lock();
- hr = wined3d_device_set_transform(device->wined3d_device, state, (const struct wined3d_matrix *)matrix);
+ wined3d_device_set_transform(device->wined3d_device, state, (const struct wined3d_matrix *)matrix);
wined3d_mutex_unlock();
- return hr;
+ return D3D_OK;
}
static HRESULT WINAPI d3d8_device_GetTransform(IDirect3DDevice8 *iface,
diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c
index e10b698..0811ddc 100644
--- a/dlls/d3d9/device.c
+++ b/dlls/d3d9/device.c
@@ -1327,16 +1327,15 @@ static HRESULT WINAPI d3d9_device_SetTransform(IDirect3DDevice9Ex *iface,
D3DTRANSFORMSTATETYPE state, const D3DMATRIX *matrix)
{
struct d3d9_device *device = impl_from_IDirect3DDevice9Ex(iface);
- HRESULT hr;
TRACE("iface %p, state %#x, matrix %p.\n", iface, state, matrix);
/* Note: D3DMATRIX is compatible with struct wined3d_matrix. */
wined3d_mutex_lock();
- hr = wined3d_device_set_transform(device->wined3d_device, state, (const struct wined3d_matrix *)matrix);
+ wined3d_device_set_transform(device->wined3d_device, state, (const struct wined3d_matrix *)matrix);
wined3d_mutex_unlock();
- return hr;
+ return D3D_OK;
}
static HRESULT WINAPI d3d9_device_GetTransform(IDirect3DDevice9Ex *iface,
diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
index f51222b..813f4b3 100644
--- a/dlls/ddraw/device.c
+++ b/dlls/ddraw/device.c
@@ -3084,7 +3084,6 @@ static HRESULT d3d_device7_SetTransform(IDirect3DDevice7 *iface,
{
struct d3d_device *device = impl_from_IDirect3DDevice7(iface);
enum wined3d_transform_state wined3d_state;
- HRESULT hr;
TRACE("iface %p, state %#x, matrix %p.\n", iface, state, matrix);
@@ -3111,10 +3110,10 @@ static HRESULT d3d_device7_SetTransform(IDirect3DDevice7 *iface,
/* Note: D3DMATRIX is compatible with struct wined3d_matrix. */
wined3d_mutex_lock();
- hr = wined3d_device_set_transform(device->wined3d_device, wined3d_state, (struct wined3d_matrix *)matrix);
+ wined3d_device_set_transform(device->wined3d_device, wined3d_state, (struct wined3d_matrix *)matrix);
wined3d_mutex_unlock();
- return hr;
+ return D3D_OK;
}
static HRESULT WINAPI d3d_device7_SetTransform_FPUSetup(IDirect3DDevice7 *iface,
@@ -3149,17 +3148,15 @@ static HRESULT WINAPI d3d_device3_SetTransform(IDirect3DDevice3 *iface,
if (state == D3DTRANSFORMSTATE_PROJECTION)
{
D3DMATRIX projection;
- HRESULT hr;
wined3d_mutex_lock();
multiply_matrix(&projection, &device->legacy_clipspace, matrix);
- hr = wined3d_device_set_transform(device->wined3d_device,
+ wined3d_device_set_transform(device->wined3d_device,
WINED3D_TS_PROJECTION, (struct wined3d_matrix *)&projection);
- if (SUCCEEDED(hr))
- device->legacy_projection = *matrix;
+ device->legacy_projection = *matrix;
wined3d_mutex_unlock();
- return hr;
+ return D3D_OK;
}
return IDirect3DDevice7_SetTransform(&device->IDirect3DDevice7_iface, state, matrix);
@@ -3363,18 +3360,16 @@ static HRESULT WINAPI d3d_device3_MultiplyTransform(IDirect3DDevice3 *iface,
if (state == D3DTRANSFORMSTATE_PROJECTION)
{
D3DMATRIX projection, tmp;
- HRESULT hr;
wined3d_mutex_lock();
multiply_matrix(&tmp, &device->legacy_projection, matrix);
multiply_matrix(&projection, &device->legacy_clipspace, &tmp);
- hr = wined3d_device_set_transform(device->wined3d_device,
+ wined3d_device_set_transform(device->wined3d_device,
WINED3D_TS_PROJECTION, (struct wined3d_matrix *)&projection);
- if (SUCCEEDED(hr))
- device->legacy_projection = tmp;
+ device->legacy_projection = tmp;
wined3d_mutex_unlock();
- return hr;
+ return D3D_OK;
}
return IDirect3DDevice7_MultiplyTransform(&device->IDirect3DDevice7_iface, state, matrix);
diff --git a/dlls/ddraw/viewport.c b/dlls/ddraw/viewport.c
index 6a4713a..f78ead0 100644
--- a/dlls/ddraw/viewport.c
+++ b/dlls/ddraw/viewport.c
@@ -41,13 +41,11 @@ static void update_clip_space(struct d3d_device *device,
offset->x, offset->y, offset->z, 1.0f,
};
D3DMATRIX projection;
- HRESULT hr;
multiply_matrix(&projection, &clip_space, &device->legacy_projection);
- hr = wined3d_device_set_transform(device->wined3d_device,
+ wined3d_device_set_transform(device->wined3d_device,
WINED3D_TS_PROJECTION, (struct wined3d_matrix *)&projection);
- if (SUCCEEDED(hr))
- device->legacy_clipspace = clip_space;
+ device->legacy_clipspace = clip_space;
}
/*****************************************************************************
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 2cf3028..d3bf10d 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -1716,7 +1716,7 @@ HRESULT CDECL wined3d_device_get_stream_source_freq(const struct wined3d_device
return WINED3D_OK;
}
-HRESULT CDECL wined3d_device_set_transform(struct wined3d_device *device,
+void CDECL wined3d_device_set_transform(struct wined3d_device *device,
enum wined3d_transform_state d3dts, const struct wined3d_matrix *matrix)
{
TRACE("device %p, state %s, matrix %p.\n",
@@ -1732,7 +1732,7 @@ HRESULT CDECL wined3d_device_set_transform(struct wined3d_device *device,
TRACE("Recording... not performing anything.\n");
device->updateStateBlock->changed.transform[d3dts >> 5] |= 1 << (d3dts & 0x1f);
device->updateStateBlock->state.transforms[d3dts] = *matrix;
- return WINED3D_OK;
+ return;
}
/* If the new matrix is the same as the current one,
@@ -1744,7 +1744,7 @@ HRESULT CDECL wined3d_device_set_transform(struct wined3d_device *device,
if (!memcmp(&device->stateBlock->state.transforms[d3dts].u.m[0][0], matrix, sizeof(*matrix)))
{
TRACE("The application is setting the same matrix over again.\n");
- return WINED3D_OK;
+ return;
}
device->stateBlock->state.transforms[d3dts] = *matrix;
@@ -1753,9 +1753,6 @@ HRESULT CDECL wined3d_device_set_transform(struct wined3d_device *device,
if (d3dts < WINED3D_TS_WORLD_MATRIX(device->adapter->gl_info.limits.blends))
device_invalidate_state(device, STATE_TRANSFORM(d3dts));
-
- return WINED3D_OK;
-
}
HRESULT CDECL wined3d_device_get_transform(const struct wined3d_device *device,
@@ -1790,7 +1787,9 @@ HRESULT CDECL wined3d_device_multiply_transform(struct wined3d_device *device,
multiply_matrix(&temp, mat, matrix);
/* Apply change via set transform - will reapply to eg. lights this way. */
- return wined3d_device_set_transform(device, state, &temp);
+ wined3d_device_set_transform(device, state, &temp);
+
+ return WINED3D_OK;
}
/* Note lights are real special cases. Although the device caps state only
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
index d581097..5d80f1d 100644
--- a/include/wine/wined3d.h
+++ b/include/wine/wined3d.h
@@ -2233,7 +2233,7 @@ HRESULT __cdecl wined3d_device_set_stream_source_freq(struct wined3d_device *dev
HRESULT __cdecl wined3d_device_set_texture(struct wined3d_device *device, UINT stage, struct wined3d_texture *texture);
HRESULT __cdecl wined3d_device_set_texture_stage_state(struct wined3d_device *device,
UINT stage, enum wined3d_texture_stage_state state, DWORD value);
-HRESULT __cdecl wined3d_device_set_transform(struct wined3d_device *device,
+void __cdecl wined3d_device_set_transform(struct wined3d_device *device,
enum wined3d_transform_state state, const struct wined3d_matrix *matrix);
HRESULT __cdecl wined3d_device_set_vertex_declaration(struct wined3d_device *device,
struct wined3d_vertex_declaration *declaration);
--
1.7.8.6
More information about the wine-patches
mailing list