[PATCH 2/5] wined3d: Introduce a helper function to assign wined3d_box values.
Henri Verbeet
hverbeet at codeweavers.com
Thu Apr 6 16:44:30 CDT 2017
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
dlls/d3d11/device.c | 29 +++++--------------------
dlls/d3d8/surface.c | 7 +------
dlls/d3d8/texture.c | 14 ++-----------
dlls/d3d9/device.c | 9 +-------
dlls/d3d9/surface.c | 9 +-------
dlls/d3d9/texture.c | 14 ++-----------
dlls/ddraw/surface.c | 7 +------
dlls/wined3d/device.c | 57 +++++++++++---------------------------------------
include/wine/wined3d.h | 11 ++++++++++
9 files changed, 36 insertions(+), 121 deletions(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index 1b7badd..e6702fc 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -976,14 +976,8 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_CopySubresourceRegion(ID3D
src_resource, src_subresource_idx, src_box);
if (src_box)
- {
- wined3d_src_box.left = src_box->left;
- wined3d_src_box.top = src_box->top;
- wined3d_src_box.front = src_box->front;
- wined3d_src_box.right = src_box->right;
- wined3d_src_box.bottom = src_box->bottom;
- wined3d_src_box.back = src_box->back;
- }
+ wined3d_box_set(&wined3d_src_box, src_box->left, src_box->top,
+ src_box->right, src_box->bottom, src_box->front, src_box->back);
wined3d_dst_resource = wined3d_resource_from_d3d11_resource(dst_resource);
wined3d_src_resource = wined3d_resource_from_d3d11_resource(src_resource);
@@ -1020,14 +1014,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_UpdateSubresource(ID3D11De
iface, resource, subresource_idx, box, data, row_pitch, depth_pitch);
if (box)
- {
- wined3d_box.left = box->left;
- wined3d_box.top = box->top;
- wined3d_box.front = box->front;
- wined3d_box.right = box->right;
- wined3d_box.bottom = box->bottom;
- wined3d_box.back = box->back;
- }
+ wined3d_box_set(&wined3d_box, box->left, box->top, box->right, box->bottom, box->front, box->back);
wined3d_resource = wined3d_resource_from_d3d11_resource(resource);
wined3d_mutex_lock();
@@ -3820,14 +3807,8 @@ static void STDMETHODCALLTYPE d3d10_device_CopySubresourceRegion(ID3D10Device1 *
src_resource, src_subresource_idx, src_box);
if (src_box)
- {
- wined3d_src_box.left = src_box->left;
- wined3d_src_box.top = src_box->top;
- wined3d_src_box.front = src_box->front;
- wined3d_src_box.right = src_box->right;
- wined3d_src_box.bottom = src_box->bottom;
- wined3d_src_box.back = src_box->back;
- }
+ wined3d_box_set(&wined3d_src_box, src_box->left, src_box->top,
+ src_box->right, src_box->bottom, src_box->front, src_box->back);
wined3d_dst_resource = wined3d_resource_from_d3d10_resource(dst_resource);
wined3d_src_resource = wined3d_resource_from_d3d10_resource(src_resource);
diff --git a/dlls/d3d8/surface.c b/dlls/d3d8/surface.c
index 5cdb5e5..9b6b425 100644
--- a/dlls/d3d8/surface.c
+++ b/dlls/d3d8/surface.c
@@ -240,12 +240,7 @@ static HRESULT WINAPI d3d8_surface_LockRect(IDirect3DSurface8 *iface,
locked_rect->pBits = NULL;
return D3DERR_INVALIDCALL;
}
- box.left = rect->left;
- box.top = rect->top;
- box.right = rect->right;
- box.bottom = rect->bottom;
- box.front = 0;
- box.back = 1;
+ wined3d_box_set(&box, rect->left, rect->top, rect->right, rect->bottom, 0, 1);
}
hr = wined3d_resource_map(wined3d_texture_get_resource(surface->wined3d_texture), surface->sub_resource_idx,
diff --git a/dlls/d3d8/texture.c b/dlls/d3d8/texture.c
index 21f3b67..cb877dc 100644
--- a/dlls/d3d8/texture.c
+++ b/dlls/d3d8/texture.c
@@ -340,12 +340,7 @@ static HRESULT WINAPI d3d8_texture_2d_AddDirtyRect(IDirect3DTexture8 *iface, con
{
struct wined3d_box dirty_region;
- dirty_region.left = dirty_rect->left;
- dirty_region.top = dirty_rect->top;
- dirty_region.right = dirty_rect->right;
- dirty_region.bottom = dirty_rect->bottom;
- dirty_region.front = 0;
- dirty_region.back = 1;
+ wined3d_box_set(&dirty_region, dirty_rect->left, dirty_rect->top, dirty_rect->right, dirty_rect->bottom, 0, 1);
hr = wined3d_texture_add_dirty_region(texture->wined3d_texture, 0, &dirty_region);
}
wined3d_mutex_unlock();
@@ -709,12 +704,7 @@ static HRESULT WINAPI d3d8_texture_cube_AddDirtyRect(IDirect3DCubeTexture8 *ifac
{
struct wined3d_box dirty_region;
- dirty_region.left = dirty_rect->left;
- dirty_region.top = dirty_rect->top;
- dirty_region.right = dirty_rect->right;
- dirty_region.bottom = dirty_rect->bottom;
- dirty_region.front = 0;
- dirty_region.back = 1;
+ wined3d_box_set(&dirty_region, dirty_rect->left, dirty_rect->top, dirty_rect->right, dirty_rect->bottom, 0, 1);
hr = wined3d_texture_add_dirty_region(texture->wined3d_texture, face, &dirty_region);
}
wined3d_mutex_unlock();
diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c
index 74070af..0cec419 100644
--- a/dlls/d3d9/device.c
+++ b/dlls/d3d9/device.c
@@ -1402,14 +1402,7 @@ static HRESULT WINAPI d3d9_device_UpdateSurface(IDirect3DDevice9Ex *iface,
iface, src_surface, src_rect, dst_surface, dst_point);
if (src_rect)
- {
- src_box.left = src_rect->left;
- src_box.top = src_rect->top;
- src_box.right = src_rect->right;
- src_box.bottom = src_rect->bottom;
- src_box.front = 0;
- src_box.back = 1;
- }
+ wined3d_box_set(&src_box, src_rect->left, src_rect->top, src_rect->right, src_rect->bottom, 0, 1);
wined3d_mutex_lock();
hr = wined3d_device_copy_sub_resource_region(device->wined3d_device,
diff --git a/dlls/d3d9/surface.c b/dlls/d3d9/surface.c
index 976a7fa..3c01efc 100644
--- a/dlls/d3d9/surface.c
+++ b/dlls/d3d9/surface.c
@@ -245,14 +245,7 @@ static HRESULT WINAPI d3d9_surface_LockRect(IDirect3DSurface9 *iface,
iface, locked_rect, wine_dbgstr_rect(rect), flags);
if (rect)
- {
- box.left = rect->left;
- box.top = rect->top;
- box.right = rect->right;
- box.bottom = rect->bottom;
- box.front = 0;
- box.back = 1;
- }
+ wined3d_box_set(&box, rect->left, rect->top, rect->right, rect->bottom, 0, 1);
wined3d_mutex_lock();
hr = wined3d_resource_map(wined3d_texture_get_resource(surface->wined3d_texture), surface->sub_resource_idx,
diff --git a/dlls/d3d9/texture.c b/dlls/d3d9/texture.c
index f5f268e..5080eb3 100644
--- a/dlls/d3d9/texture.c
+++ b/dlls/d3d9/texture.c
@@ -382,12 +382,7 @@ static HRESULT WINAPI d3d9_texture_2d_AddDirtyRect(IDirect3DTexture9 *iface, con
{
struct wined3d_box dirty_region;
- dirty_region.left = dirty_rect->left;
- dirty_region.top = dirty_rect->top;
- dirty_region.right = dirty_rect->right;
- dirty_region.bottom = dirty_rect->bottom;
- dirty_region.front = 0;
- dirty_region.back = 1;
+ wined3d_box_set(&dirty_region, dirty_rect->left, dirty_rect->top, dirty_rect->right, dirty_rect->bottom, 0, 1);
hr = wined3d_texture_add_dirty_region(texture->wined3d_texture, 0, &dirty_region);
}
wined3d_mutex_unlock();
@@ -797,12 +792,7 @@ static HRESULT WINAPI d3d9_texture_cube_AddDirtyRect(IDirect3DCubeTexture9 *ifa
{
struct wined3d_box dirty_region;
- dirty_region.left = dirty_rect->left;
- dirty_region.top = dirty_rect->top;
- dirty_region.right = dirty_rect->right;
- dirty_region.bottom = dirty_rect->bottom;
- dirty_region.front = 0;
- dirty_region.back = 1;
+ wined3d_box_set(&dirty_region, dirty_rect->left, dirty_rect->top, dirty_rect->right, dirty_rect->bottom, 0, 1);
hr = wined3d_texture_add_dirty_region(texture->wined3d_texture, face, &dirty_region);
}
wined3d_mutex_unlock();
diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c
index 0a2e1db..6c4ed11 100644
--- a/dlls/ddraw/surface.c
+++ b/dlls/ddraw/surface.c
@@ -985,12 +985,7 @@ static HRESULT surface_lock(struct ddraw_surface *surface,
wined3d_mutex_unlock();
return DDERR_INVALIDPARAMS;
}
- box.left = rect->left;
- box.top = rect->top;
- box.right = rect->right;
- box.bottom = rect->bottom;
- box.front = 0;
- box.back = 1;
+ wined3d_box_set(&box, rect->left, rect->top, rect->right, rect->bottom, 0, 1);
}
if (surface->surface_desc.ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index ffc99b1..d8b6ef9 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -3876,13 +3876,7 @@ void CDECL wined3d_device_copy_resource(struct wined3d_device *device,
if (dst_resource->type == WINED3D_RTYPE_BUFFER)
{
- box.left = 0;
- box.top = 0;
- box.right = src_resource->size;
- box.bottom = 1;
- box.front = 0;
- box.back = 1;
-
+ wined3d_box_set(&box, 0, 0, src_resource->size, 1, 0, 1);
wined3d_cs_emit_blt_sub_resource(device->cs, dst_resource, 0, &box,
src_resource, 0, &box, 0, NULL, WINED3D_TEXF_POINT);
return;
@@ -3908,13 +3902,10 @@ void CDECL wined3d_device_copy_resource(struct wined3d_device *device,
for (i = 0; i < dst_texture->level_count; ++i)
{
- box.left = 0;
- box.top = 0;
- box.right = wined3d_texture_get_level_width(dst_texture, i);
- box.bottom = wined3d_texture_get_level_height(dst_texture, i);
- box.front = 0;
- box.back = wined3d_texture_get_level_depth(dst_texture, i);
-
+ wined3d_box_set(&box, 0, 0,
+ wined3d_texture_get_level_width(dst_texture, i),
+ wined3d_texture_get_level_height(dst_texture, i),
+ 0, wined3d_texture_get_level_depth(dst_texture, i));
for (j = 0; j < dst_texture->layer_count; ++j)
{
unsigned int idx = j * dst_texture->level_count + i;
@@ -3975,12 +3966,7 @@ HRESULT CDECL wined3d_device_copy_sub_resource_region(struct wined3d_device *dev
if (!src_box)
{
- b.left = 0;
- b.top = 0;
- b.right = src_resource->size;
- b.bottom = 1;
- b.front = 0;
- b.back = 1;
+ wined3d_box_set(&b, 0, 0, src_resource->size, 1, 0, 1);
src_box = &b;
}
else if ((src_box->left >= src_box->right
@@ -3999,12 +3985,7 @@ HRESULT CDECL wined3d_device_copy_sub_resource_region(struct wined3d_device *dev
return WINED3DERR_INVALIDCALL;
}
- dst_box.left = dst_x;
- dst_box.top = 0;
- dst_box.right = dst_x + (src_box->right - src_box->left);
- dst_box.bottom = 1;
- dst_box.front = 0;
- dst_box.back = 1;
+ wined3d_box_set(&dst_box, dst_x, 0, dst_x + (src_box->right - src_box->left), 1, 0, 1);
}
else if (dst_resource->type == WINED3D_RTYPE_TEXTURE_2D)
{
@@ -4038,13 +4019,8 @@ HRESULT CDECL wined3d_device_copy_sub_resource_region(struct wined3d_device *dev
if (!src_box)
{
-
- b.left = 0;
- b.top = 0;
- b.right = wined3d_texture_get_level_width(src_texture, src_level);
- b.bottom = wined3d_texture_get_level_height(src_texture, src_level);
- b.front = 0;
- b.back = 1;
+ wined3d_box_set(&b, 0, 0, wined3d_texture_get_level_width(src_texture, src_level),
+ wined3d_texture_get_level_height(src_texture, src_level), 0, 1);
src_box = &b;
}
else if (FAILED(wined3d_texture_check_box_dimensions(src_texture, src_level, src_box)))
@@ -4053,12 +4029,8 @@ HRESULT CDECL wined3d_device_copy_sub_resource_region(struct wined3d_device *dev
return WINED3DERR_INVALIDCALL;
}
- dst_box.left = dst_x;
- dst_box.top = dst_y;
- dst_box.right = dst_x + (src_box->right - src_box->left);
- dst_box.bottom = dst_y + (src_box->bottom - src_box->top);
- dst_box.front = 0;
- dst_box.back = 1;
+ wined3d_box_set(&dst_box, dst_x, dst_y, dst_x + (src_box->right - src_box->left),
+ dst_y + (src_box->bottom - src_box->top), 0, 1);
if (FAILED(wined3d_texture_check_box_dimensions(dst_texture,
dst_sub_resource_idx % dst_texture->level_count, &dst_box)))
{
@@ -4124,12 +4096,7 @@ void CDECL wined3d_device_update_sub_resource(struct wined3d_device *device, str
if (!box)
{
- b.left = 0;
- b.top = 0;
- b.right = width;
- b.bottom = height;
- b.front = 0;
- b.back = depth;
+ wined3d_box_set(&b, 0, 0, width, height, 0, depth);
box = &b;
}
else if (box->left >= box->right || box->right > width
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
index 4f37392..491f2fd 100644
--- a/include/wine/wined3d.h
+++ b/include/wine/wined3d.h
@@ -2659,4 +2659,15 @@ static inline unsigned int wined3d_log2i(unsigned int x)
#endif
}
+static inline void wined3d_box_set(struct wined3d_box *box, unsigned int left, unsigned int top,
+ unsigned int right, unsigned int bottom, unsigned int front, unsigned int back)
+{
+ box->left = left;
+ box->top = top;
+ box->right = right;
+ box->bottom = bottom;
+ box->front = front;
+ box->back = back;
+}
+
#endif /* __WINE_WINED3D_H */
--
2.1.4
More information about the wine-patches
mailing list