[PATCH 4/6] wined3d: Move volume booleans into a flags field (try 2)
Stefan Dösinger
stefan at codeweavers.com
Wed Aug 21 08:15:50 CDT 2013
Try 2: Just drop volume->lockable for now and reintroduce it in a later
patch that implements mapping restrictions.
---
dlls/wined3d/volume.c | 10 +++-------
dlls/wined3d/wined3d_private.h | 8 +++++---
2 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
index cdc7125..4c6bd4d 100644
--- a/dlls/wined3d/volume.c
+++ b/dlls/wined3d/volume.c
@@ -49,7 +49,6 @@ static void volume_bind_and_dirtify(const struct wined3d_volume *volume, struct
void volume_add_dirty_box(struct wined3d_volume *volume, const struct wined3d_box *dirty_box)
{
- volume->dirty = TRUE;
if (dirty_box)
{
volume->lockedBox.left = min(volume->lockedBox.left, dirty_box->left);
@@ -233,7 +232,7 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
wined3d_texture_set_dirty(volume->container, TRUE);
}
- volume->locked = TRUE;
+ volume->flags |= WINED3D_VFLAG_LOCKED;
TRACE("Returning memory %p, row pitch %d, slice pitch %d.\n",
map_desc->data, map_desc->row_pitch, map_desc->slice_pitch);
@@ -250,13 +249,13 @@ HRESULT CDECL wined3d_volume_unmap(struct wined3d_volume *volume)
{
TRACE("volume %p.\n", volume);
- if (!volume->locked)
+ if (!(volume->flags & WINED3D_VFLAG_LOCKED))
{
WARN("Trying to unlock unlocked volume %p.\n", volume);
return WINED3DERR_INVALIDCALL;
}
- volume->locked = FALSE;
+ volume->flags &= ~WINED3D_VFLAG_LOCKED;
memset(&volume->lockedBox, 0, sizeof(volume->lockedBox));
return WINED3D_OK;
@@ -293,10 +292,7 @@ static HRESULT volume_init(struct wined3d_volume *volume, struct wined3d_device
return hr;
}
- volume->lockable = TRUE;
- volume->locked = FALSE;
memset(&volume->lockedBox, 0, sizeof(volume->lockedBox));
- volume->dirty = TRUE;
volume_add_dirty_box(volume, NULL);
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 9286726..54e438a 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2050,15 +2050,17 @@ void wined3d_texture_apply_state_changes(struct wined3d_texture *texture,
const struct wined3d_gl_info *gl_info) DECLSPEC_HIDDEN;
void wined3d_texture_set_dirty(struct wined3d_texture *texture, BOOL dirty) DECLSPEC_HIDDEN;
+#define WINED3D_VFLAG_LOCKED 0x00000001
+
struct wined3d_volume
{
struct wined3d_resource resource;
struct wined3d_texture *container;
- BOOL lockable;
- BOOL locked;
+
struct wined3d_box lockedBox;
struct wined3d_box dirtyBox;
- BOOL dirty;
+
+ DWORD flags;
};
static inline struct wined3d_volume *volume_from_resource(struct wined3d_resource *resource)
--
1.8.1.5
More information about the wine-patches
mailing list