From f79bbc767dea94cb6fe5f1426155cdf79b051bf2 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Wed, 12 Sep 2012 11:30:52 +0200 Subject: [PATCH] wined3d: wined3d_device_set_transform() never fails. --- 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 25f753450ef..20c5fe308eb 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 e10b6985033..0811ddc99f6 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 f51222be84d..813f4b30d4a 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 6a4713af462..f78ead01979 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 2cf302801ba..d3bf10de861 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 d581097b644..5d80f1d766c 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);