Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
a91ef521
Commit
a91ef521
authored
May 28, 2012
by
Henri Verbeet
Committed by
Alexandre Julliard
May 29, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
d3d9: Get rid of IDirect3DVolume9Impl.
parent
2a63fe66
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
101 additions
and
108 deletions
+101
-108
d3d9_private.h
dlls/d3d9/d3d9_private.h
+4
-8
device.c
dlls/d3d9/device.c
+1
-1
texture.c
dlls/d3d9/texture.c
+3
-3
volume.c
dlls/d3d9/volume.c
+93
-96
No files found.
dlls/d3d9/d3d9_private.h
View file @
a91ef521
...
@@ -164,20 +164,16 @@ HRESULT device_init(struct d3d9_device *device, struct d3d9 *parent, struct wine
...
@@ -164,20 +164,16 @@ HRESULT device_init(struct d3d9_device *device, struct d3d9 *parent, struct wine
UINT
adapter
,
D3DDEVTYPE
device_type
,
HWND
focus_window
,
DWORD
flags
,
UINT
adapter
,
D3DDEVTYPE
device_type
,
HWND
focus_window
,
DWORD
flags
,
D3DPRESENT_PARAMETERS
*
parameters
,
D3DDISPLAYMODEEX
*
mode
)
DECLSPEC_HIDDEN
;
D3DPRESENT_PARAMETERS
*
parameters
,
D3DDISPLAYMODEEX
*
mode
)
DECLSPEC_HIDDEN
;
/*****************************************************************************
struct
d3d9_volume
* IDirect3DVolume9 implementation structure
*/
typedef
struct
IDirect3DVolume9Impl
{
{
/* IUnknown fields */
IDirect3DVolume9
IDirect3DVolume9_iface
;
IDirect3DVolume9
IDirect3DVolume9_iface
;
LONG
ref
;
LONG
ref
count
;
struct
wined3d_volume
*
wined3d_volume
;
struct
wined3d_volume
*
wined3d_volume
;
IUnknown
*
container
;
IUnknown
*
container
;
IUnknown
*
forwardReference
;
IUnknown
*
forwardReference
;
}
IDirect3DVolume9Impl
;
};
HRESULT
volume_init
(
IDirect3DVolume9Impl
*
volume
,
struct
d3d9_device
*
device
,
UINT
width
,
UINT
height
,
HRESULT
volume_init
(
struct
d3d9_volume
*
volume
,
struct
d3d9_device
*
device
,
UINT
width
,
UINT
height
,
UINT
depth
,
DWORD
usage
,
enum
wined3d_format_id
format
,
enum
wined3d_pool
pool
)
DECLSPEC_HIDDEN
;
UINT
depth
,
DWORD
usage
,
enum
wined3d_format_id
format
,
enum
wined3d_pool
pool
)
DECLSPEC_HIDDEN
;
/* ------------------- */
/* ------------------- */
...
...
dlls/d3d9/device.c
View file @
a91ef521
...
@@ -3196,7 +3196,7 @@ static HRESULT CDECL device_parent_create_volume(struct wined3d_device_parent *d
...
@@ -3196,7 +3196,7 @@ static HRESULT CDECL device_parent_create_volume(struct wined3d_device_parent *d
enum
wined3d_pool
pool
,
DWORD
usage
,
struct
wined3d_volume
**
volume
)
enum
wined3d_pool
pool
,
DWORD
usage
,
struct
wined3d_volume
**
volume
)
{
{
struct
d3d9_device
*
device
=
device_from_device_parent
(
device_parent
);
struct
d3d9_device
*
device
=
device_from_device_parent
(
device_parent
);
IDirect3DVolume9Impl
*
object
;
struct
d3d9_volume
*
object
;
HRESULT
hr
;
HRESULT
hr
;
TRACE
(
"device_parent %p, container_parent %p, width %u, height %u, depth %u, "
TRACE
(
"device_parent %p, container_parent %p, width %u, height %u, depth %u, "
...
...
dlls/d3d9/texture.c
View file @
a91ef521
...
@@ -1176,7 +1176,7 @@ static HRESULT WINAPI d3d9_texture_3d_GetVolumeLevel(IDirect3DVolumeTexture9 *if
...
@@ -1176,7 +1176,7 @@ static HRESULT WINAPI d3d9_texture_3d_GetVolumeLevel(IDirect3DVolumeTexture9 *if
{
{
struct
d3d9_texture
*
texture
=
impl_from_IDirect3DVolumeTexture9
(
iface
);
struct
d3d9_texture
*
texture
=
impl_from_IDirect3DVolumeTexture9
(
iface
);
struct
wined3d_resource
*
sub_resource
;
struct
wined3d_resource
*
sub_resource
;
IDirect3DVolume9Impl
*
volume_impl
;
struct
d3d9_volume
*
volume_impl
;
TRACE
(
"iface %p, level %u, volume %p.
\n
"
,
iface
,
level
,
volume
);
TRACE
(
"iface %p, level %u, volume %p.
\n
"
,
iface
,
level
,
volume
);
...
@@ -1200,7 +1200,7 @@ static HRESULT WINAPI d3d9_texture_3d_LockBox(IDirect3DVolumeTexture9 *iface,
...
@@ -1200,7 +1200,7 @@ static HRESULT WINAPI d3d9_texture_3d_LockBox(IDirect3DVolumeTexture9 *iface,
{
{
struct
d3d9_texture
*
texture
=
impl_from_IDirect3DVolumeTexture9
(
iface
);
struct
d3d9_texture
*
texture
=
impl_from_IDirect3DVolumeTexture9
(
iface
);
struct
wined3d_resource
*
sub_resource
;
struct
wined3d_resource
*
sub_resource
;
IDirect3DVolume9Impl
*
volume_impl
;
struct
d3d9_volume
*
volume_impl
;
HRESULT
hr
;
HRESULT
hr
;
TRACE
(
"iface %p, level %u, locked_box %p, box %p, flags %#x.
\n
"
,
TRACE
(
"iface %p, level %u, locked_box %p, box %p, flags %#x.
\n
"
,
...
@@ -1223,7 +1223,7 @@ static HRESULT WINAPI d3d9_texture_3d_UnlockBox(IDirect3DVolumeTexture9 *iface,
...
@@ -1223,7 +1223,7 @@ static HRESULT WINAPI d3d9_texture_3d_UnlockBox(IDirect3DVolumeTexture9 *iface,
{
{
struct
d3d9_texture
*
texture
=
impl_from_IDirect3DVolumeTexture9
(
iface
);
struct
d3d9_texture
*
texture
=
impl_from_IDirect3DVolumeTexture9
(
iface
);
struct
wined3d_resource
*
sub_resource
;
struct
wined3d_resource
*
sub_resource
;
IDirect3DVolume9Impl
*
volume_impl
;
struct
d3d9_volume
*
volume_impl
;
HRESULT
hr
;
HRESULT
hr
;
TRACE
(
"iface %p, level %u.
\n
"
,
iface
,
level
);
TRACE
(
"iface %p, level %u.
\n
"
,
iface
,
level
);
...
...
dlls/d3d9/volume.c
View file @
a91ef521
...
@@ -24,93 +24,90 @@
...
@@ -24,93 +24,90 @@
WINE_DEFAULT_DEBUG_CHANNEL
(
d3d9
);
WINE_DEFAULT_DEBUG_CHANNEL
(
d3d9
);
static
inline
IDirect3DVolume9Impl
*
impl_from_IDirect3DVolume9
(
IDirect3DVolume9
*
iface
)
static
inline
struct
d3d9_volume
*
impl_from_IDirect3DVolume9
(
IDirect3DVolume9
*
iface
)
{
{
return
CONTAINING_RECORD
(
iface
,
IDirect3DVolume9Impl
,
IDirect3DVolume9_iface
);
return
CONTAINING_RECORD
(
iface
,
struct
d3d9_volume
,
IDirect3DVolume9_iface
);
}
}
static
HRESULT
WINAPI
IDirect3DVolume9Impl_QueryInterface
(
IDirect3DVolume9
*
iface
,
REFIID
riid
,
static
HRESULT
WINAPI
d3d9_volume_QueryInterface
(
IDirect3DVolume9
*
iface
,
REFIID
riid
,
void
**
out
)
void
**
ppobj
)
{
{
TRACE
(
"iface %p, riid %s, o
bject %p.
\n
"
,
iface
,
debugstr_guid
(
riid
),
ppobj
);
TRACE
(
"iface %p, riid %s, o
ut %p.
\n
"
,
iface
,
debugstr_guid
(
riid
),
out
);
if
(
IsEqualGUID
(
riid
,
&
IID_IDirect3DVolume9
)
if
(
IsEqualGUID
(
riid
,
&
IID_IDirect3DVolume9
)
||
IsEqualGUID
(
riid
,
&
IID_IUnknown
))
||
IsEqualGUID
(
riid
,
&
IID_IUnknown
))
{
{
IDirect3DVolume9_AddRef
(
iface
);
IDirect3DVolume9_AddRef
(
iface
);
*
ppobj
=
iface
;
*
out
=
iface
;
return
S_OK
;
return
S_OK
;
}
}
WARN
(
"%s not implemented, returning E_NOINTERFACE.
\n
"
,
debugstr_guid
(
riid
));
WARN
(
"%s not implemented, returning E_NOINTERFACE.
\n
"
,
debugstr_guid
(
riid
));
*
ppobj
=
NULL
;
*
out
=
NULL
;
return
E_NOINTERFACE
;
return
E_NOINTERFACE
;
}
}
static
ULONG
WINAPI
IDirect3DVolume9Impl
_AddRef
(
IDirect3DVolume9
*
iface
)
static
ULONG
WINAPI
d3d9_volume
_AddRef
(
IDirect3DVolume9
*
iface
)
{
{
IDirect3DVolume9Impl
*
This
=
impl_from_IDirect3DVolume9
(
iface
);
struct
d3d9_volume
*
volume
=
impl_from_IDirect3DVolume9
(
iface
);
ULONG
refcount
;
TRACE
(
"iface %p.
\n
"
,
iface
);
TRACE
(
"iface %p.
\n
"
,
iface
);
if
(
This
->
forwardReference
)
{
if
(
volume
->
forwardReference
)
/* Forward refcounting */
{
TRACE
(
"(%p) : Forwarding to %p
\n
"
,
This
,
This
->
forwardReference
);
TRACE
(
"Forwarding to %p.
\n
"
,
volume
->
forwardReference
);
return
IUnknown_AddRef
(
This
->
forwardReference
);
return
IUnknown_AddRef
(
volume
->
forwardReference
);
}
else
{
}
/* No container, handle our own refcounting */
ULONG
ref
=
InterlockedIncrement
(
&
This
->
ref
);
TRACE
(
"%p increasing refcount to %u.
\n
"
,
iface
,
ref
);
if
(
ref
==
1
)
refcount
=
InterlockedIncrement
(
&
volume
->
refcount
);
{
TRACE
(
"%p increasing refcount to %u.
\n
"
,
iface
,
refcount
);
wined3d_mutex_lock
();
wined3d_volume_incref
(
This
->
wined3d_volume
);
wined3d_mutex_unlock
();
}
return
ref
;
if
(
refcount
==
1
)
{
wined3d_mutex_lock
();
wined3d_volume_incref
(
volume
->
wined3d_volume
);
wined3d_mutex_unlock
();
}
}
return
refcount
;
}
}
static
ULONG
WINAPI
IDirect3DVolume9Impl
_Release
(
IDirect3DVolume9
*
iface
)
static
ULONG
WINAPI
d3d9_volume
_Release
(
IDirect3DVolume9
*
iface
)
{
{
IDirect3DVolume9Impl
*
This
=
impl_from_IDirect3DVolume9
(
iface
);
struct
d3d9_volume
*
volume
=
impl_from_IDirect3DVolume9
(
iface
);
ULONG
refcount
;
TRACE
(
"iface %p.
\n
"
,
iface
);
TRACE
(
"iface %p.
\n
"
,
iface
);
if
(
This
->
forwardReference
)
{
if
(
volume
->
forwardReference
)
/* Forward refcounting */
{
TRACE
(
"(%p) : Forwarding to %p
\n
"
,
This
,
This
->
forwardReference
);
TRACE
(
"Forwarding to %p.
\n
"
,
volume
->
forwardReference
);
return
IUnknown_Release
(
This
->
forwardReference
);
return
IUnknown_Release
(
volume
->
forwardReference
);
}
else
{
}
/* No container, handle our own refcounting */
ULONG
ref
=
InterlockedDecrement
(
&
This
->
ref
);
TRACE
(
"%p decreasing refcount to %u.
\n
"
,
iface
,
ref
);
if
(
ref
==
0
)
{
refcount
=
InterlockedDecrement
(
&
volume
->
refcount
);
wined3d_mutex_lock
();
TRACE
(
"%p decreasing refcount to %u.
\n
"
,
iface
,
refcount
);
wined3d_volume_decref
(
This
->
wined3d_volume
);
wined3d_mutex_unlock
();
}
return
ref
;
if
(
!
refcount
)
{
wined3d_mutex_lock
();
wined3d_volume_decref
(
volume
->
wined3d_volume
);
wined3d_mutex_unlock
();
}
}
return
refcount
;
}
}
static
HRESULT
WINAPI
IDirect3DVolume9Impl_GetDevice
(
IDirect3DVolume9
*
iface
,
static
HRESULT
WINAPI
d3d9_volume_GetDevice
(
IDirect3DVolume9
*
iface
,
IDirect3DDevice9
**
device
)
IDirect3DDevice9
**
device
)
{
{
IDirect3DVolume9Impl
*
This
=
impl_from_IDirect3DVolume9
(
iface
);
struct
d3d9_volume
*
volume
=
impl_from_IDirect3DVolume9
(
iface
);
IDirect3DResource9
*
resource
;
IDirect3DResource9
*
resource
;
HRESULT
hr
;
HRESULT
hr
;
TRACE
(
"iface %p, device %p.
\n
"
,
iface
,
device
);
TRACE
(
"iface %p, device %p.
\n
"
,
iface
,
device
);
hr
=
IUnknown_QueryInterface
(
This
->
forwardReference
,
&
IID_IDirect3DResource9
,
(
void
**
)
&
resource
);
hr
=
IUnknown_QueryInterface
(
volume
->
forwardReference
,
&
IID_IDirect3DResource9
,
(
void
**
)
&
resource
);
if
(
SUCCEEDED
(
hr
))
if
(
SUCCEEDED
(
hr
))
{
{
hr
=
IDirect3DResource9_GetDevice
(
resource
,
device
);
hr
=
IDirect3DResource9_GetDevice
(
resource
,
device
);
...
@@ -122,85 +119,85 @@ static HRESULT WINAPI IDirect3DVolume9Impl_GetDevice(IDirect3DVolume9 *iface,
...
@@ -122,85 +119,85 @@ static HRESULT WINAPI IDirect3DVolume9Impl_GetDevice(IDirect3DVolume9 *iface,
return
hr
;
return
hr
;
}
}
static
HRESULT
WINAPI
IDirect3DVolume9Impl_SetPrivateData
(
IDirect3DVolume9
*
iface
,
REFGUID
ref
guid
,
static
HRESULT
WINAPI
d3d9_volume_SetPrivateData
(
IDirect3DVolume9
*
iface
,
REFGUID
guid
,
const
void
*
pData
,
DWORD
SizeOfData
,
DWORD
F
lags
)
const
void
*
data
,
DWORD
data_size
,
DWORD
f
lags
)
{
{
IDirect3DVolume9Impl
*
This
=
impl_from_IDirect3DVolume9
(
iface
);
struct
d3d9_volume
*
volume
=
impl_from_IDirect3DVolume9
(
iface
);
struct
wined3d_resource
*
resource
;
struct
wined3d_resource
*
resource
;
HRESULT
hr
;
HRESULT
hr
;
TRACE
(
"iface %p, guid %s, data %p, data_size %u, flags %#x.
\n
"
,
TRACE
(
"iface %p, guid %s, data %p, data_size %u, flags %#x.
\n
"
,
iface
,
debugstr_guid
(
refguid
),
pData
,
SizeOfData
,
F
lags
);
iface
,
debugstr_guid
(
guid
),
data
,
data_size
,
f
lags
);
wined3d_mutex_lock
();
wined3d_mutex_lock
();
resource
=
wined3d_volume_get_resource
(
This
->
wined3d_volume
);
resource
=
wined3d_volume_get_resource
(
volume
->
wined3d_volume
);
hr
=
wined3d_resource_set_private_data
(
resource
,
refguid
,
pData
,
SizeOfData
,
F
lags
);
hr
=
wined3d_resource_set_private_data
(
resource
,
guid
,
data
,
data_size
,
f
lags
);
wined3d_mutex_unlock
();
wined3d_mutex_unlock
();
return
hr
;
return
hr
;
}
}
static
HRESULT
WINAPI
IDirect3DVolume9Impl_GetPrivateData
(
IDirect3DVolume9
*
iface
,
REFGUID
ref
guid
,
static
HRESULT
WINAPI
d3d9_volume_GetPrivateData
(
IDirect3DVolume9
*
iface
,
REFGUID
guid
,
void
*
pData
,
DWORD
*
pSizeOfData
)
void
*
data
,
DWORD
*
data_size
)
{
{
IDirect3DVolume9Impl
*
This
=
impl_from_IDirect3DVolume9
(
iface
);
struct
d3d9_volume
*
volume
=
impl_from_IDirect3DVolume9
(
iface
);
struct
wined3d_resource
*
resource
;
struct
wined3d_resource
*
resource
;
HRESULT
hr
;
HRESULT
hr
;
TRACE
(
"iface %p, guid %s, data %p, data_size %p.
\n
"
,
TRACE
(
"iface %p, guid %s, data %p, data_size %p.
\n
"
,
iface
,
debugstr_guid
(
refguid
),
pData
,
pSizeOfData
);
iface
,
debugstr_guid
(
guid
),
data
,
data_size
);
wined3d_mutex_lock
();
wined3d_mutex_lock
();
resource
=
wined3d_volume_get_resource
(
This
->
wined3d_volume
);
resource
=
wined3d_volume_get_resource
(
volume
->
wined3d_volume
);
hr
=
wined3d_resource_get_private_data
(
resource
,
refguid
,
pData
,
pSizeOfData
);
hr
=
wined3d_resource_get_private_data
(
resource
,
guid
,
data
,
data_size
);
wined3d_mutex_unlock
();
wined3d_mutex_unlock
();
return
hr
;
return
hr
;
}
}
static
HRESULT
WINAPI
IDirect3DVolume9Impl_FreePrivateData
(
IDirect3DVolume9
*
iface
,
REFGUID
ref
guid
)
static
HRESULT
WINAPI
d3d9_volume_FreePrivateData
(
IDirect3DVolume9
*
iface
,
REFGUID
guid
)
{
{
IDirect3DVolume9Impl
*
This
=
impl_from_IDirect3DVolume9
(
iface
);
struct
d3d9_volume
*
volume
=
impl_from_IDirect3DVolume9
(
iface
);
struct
wined3d_resource
*
resource
;
struct
wined3d_resource
*
resource
;
HRESULT
hr
;
HRESULT
hr
;
TRACE
(
"iface %p, guid %s.
\n
"
,
iface
,
debugstr_guid
(
ref
guid
));
TRACE
(
"iface %p, guid %s.
\n
"
,
iface
,
debugstr_guid
(
guid
));
wined3d_mutex_lock
();
wined3d_mutex_lock
();
resource
=
wined3d_volume_get_resource
(
This
->
wined3d_volume
);
resource
=
wined3d_volume_get_resource
(
volume
->
wined3d_volume
);
hr
=
wined3d_resource_free_private_data
(
resource
,
ref
guid
);
hr
=
wined3d_resource_free_private_data
(
resource
,
guid
);
wined3d_mutex_unlock
();
wined3d_mutex_unlock
();
return
hr
;
return
hr
;
}
}
static
HRESULT
WINAPI
IDirect3DVolume9Impl_GetContainer
(
IDirect3DVolume9
*
iface
,
REFIID
riid
,
static
HRESULT
WINAPI
d3d9_volume_GetContainer
(
IDirect3DVolume9
*
iface
,
REFIID
riid
,
void
**
container
)
void
**
ppContainer
)
{
{
IDirect3DVolume9Impl
*
This
=
impl_from_IDirect3DVolume9
(
iface
);
struct
d3d9_volume
*
volume
=
impl_from_IDirect3DVolume9
(
iface
);
HRESULT
res
;
HRESULT
hr
;
TRACE
(
"iface %p, riid %s, container %p.
\n
"
,
iface
,
debugstr_guid
(
riid
),
ppC
ontainer
);
TRACE
(
"iface %p, riid %s, container %p.
\n
"
,
iface
,
debugstr_guid
(
riid
),
c
ontainer
);
if
(
!
This
->
container
)
return
E_NOINTERFACE
;
if
(
!
volume
->
container
)
return
E_NOINTERFACE
;
res
=
IUnknown_QueryInterface
(
This
->
container
,
riid
,
ppC
ontainer
);
hr
=
IUnknown_QueryInterface
(
volume
->
container
,
riid
,
c
ontainer
);
TRACE
(
"Returning
ppContainer %p, *ppContainer %p
\n
"
,
ppContainer
,
*
ppC
ontainer
);
TRACE
(
"Returning
%p,
\n
"
,
*
c
ontainer
);
return
res
;
return
hr
;
}
}
static
HRESULT
WINAPI
IDirect3DVolume9Impl
_GetDesc
(
IDirect3DVolume9
*
iface
,
D3DVOLUME_DESC
*
desc
)
static
HRESULT
WINAPI
d3d9_volume
_GetDesc
(
IDirect3DVolume9
*
iface
,
D3DVOLUME_DESC
*
desc
)
{
{
IDirect3DVolume9Impl
*
This
=
impl_from_IDirect3DVolume9
(
iface
);
struct
d3d9_volume
*
volume
=
impl_from_IDirect3DVolume9
(
iface
);
struct
wined3d_resource_desc
wined3d_desc
;
struct
wined3d_resource_desc
wined3d_desc
;
struct
wined3d_resource
*
wined3d_resource
;
struct
wined3d_resource
*
wined3d_resource
;
TRACE
(
"iface %p, desc %p.
\n
"
,
iface
,
desc
);
TRACE
(
"iface %p, desc %p.
\n
"
,
iface
,
desc
);
wined3d_mutex_lock
();
wined3d_mutex_lock
();
wined3d_resource
=
wined3d_volume_get_resource
(
This
->
wined3d_volume
);
wined3d_resource
=
wined3d_volume_get_resource
(
volume
->
wined3d_volume
);
wined3d_resource_get_desc
(
wined3d_resource
,
&
wined3d_desc
);
wined3d_resource_get_desc
(
wined3d_resource
,
&
wined3d_desc
);
wined3d_mutex_unlock
();
wined3d_mutex_unlock
();
...
@@ -215,10 +212,10 @@ static HRESULT WINAPI IDirect3DVolume9Impl_GetDesc(IDirect3DVolume9 *iface, D3DV
...
@@ -215,10 +212,10 @@ static HRESULT WINAPI IDirect3DVolume9Impl_GetDesc(IDirect3DVolume9 *iface, D3DV
return
D3D_OK
;
return
D3D_OK
;
}
}
static
HRESULT
WINAPI
IDirect3DVolume9Impl
_LockBox
(
IDirect3DVolume9
*
iface
,
static
HRESULT
WINAPI
d3d9_volume
_LockBox
(
IDirect3DVolume9
*
iface
,
D3DLOCKED_BOX
*
locked_box
,
const
D3DBOX
*
box
,
DWORD
flags
)
D3DLOCKED_BOX
*
locked_box
,
const
D3DBOX
*
box
,
DWORD
flags
)
{
{
IDirect3DVolume9Impl
*
This
=
impl_from_IDirect3DVolume9
(
iface
);
struct
d3d9_volume
*
volume
=
impl_from_IDirect3DVolume9
(
iface
);
struct
wined3d_map_desc
map_desc
;
struct
wined3d_map_desc
map_desc
;
HRESULT
hr
;
HRESULT
hr
;
...
@@ -226,7 +223,7 @@ static HRESULT WINAPI IDirect3DVolume9Impl_LockBox(IDirect3DVolume9 *iface,
...
@@ -226,7 +223,7 @@ static HRESULT WINAPI IDirect3DVolume9Impl_LockBox(IDirect3DVolume9 *iface,
iface
,
locked_box
,
box
,
flags
);
iface
,
locked_box
,
box
,
flags
);
wined3d_mutex_lock
();
wined3d_mutex_lock
();
hr
=
wined3d_volume_map
(
This
->
wined3d_volume
,
&
map_desc
,
(
const
struct
wined3d_box
*
)
box
,
flags
);
hr
=
wined3d_volume_map
(
volume
->
wined3d_volume
,
&
map_desc
,
(
const
struct
wined3d_box
*
)
box
,
flags
);
wined3d_mutex_unlock
();
wined3d_mutex_unlock
();
locked_box
->
RowPitch
=
map_desc
.
row_pitch
;
locked_box
->
RowPitch
=
map_desc
.
row_pitch
;
...
@@ -236,35 +233,35 @@ static HRESULT WINAPI IDirect3DVolume9Impl_LockBox(IDirect3DVolume9 *iface,
...
@@ -236,35 +233,35 @@ static HRESULT WINAPI IDirect3DVolume9Impl_LockBox(IDirect3DVolume9 *iface,
return
hr
;
return
hr
;
}
}
static
HRESULT
WINAPI
IDirect3DVolume9Impl
_UnlockBox
(
IDirect3DVolume9
*
iface
)
static
HRESULT
WINAPI
d3d9_volume
_UnlockBox
(
IDirect3DVolume9
*
iface
)
{
{
IDirect3DVolume9Impl
*
This
=
impl_from_IDirect3DVolume9
(
iface
);
struct
d3d9_volume
*
volume
=
impl_from_IDirect3DVolume9
(
iface
);
HRESULT
hr
;
HRESULT
hr
;
TRACE
(
"iface %p.
\n
"
,
iface
);
TRACE
(
"iface %p.
\n
"
,
iface
);
wined3d_mutex_lock
();
wined3d_mutex_lock
();
hr
=
wined3d_volume_unmap
(
This
->
wined3d_volume
);
hr
=
wined3d_volume_unmap
(
volume
->
wined3d_volume
);
wined3d_mutex_unlock
();
wined3d_mutex_unlock
();
return
hr
;
return
hr
;
}
}
static
const
IDirect3DVolume9Vtbl
Direct3DVolume9_V
tbl
=
static
const
struct
IDirect3DVolume9Vtbl
d3d9_volume_v
tbl
=
{
{
/* IUnknown */
/* IUnknown */
IDirect3DVolume9Impl
_QueryInterface
,
d3d9_volume
_QueryInterface
,
IDirect3DVolume9Impl
_AddRef
,
d3d9_volume
_AddRef
,
IDirect3DVolume9Impl
_Release
,
d3d9_volume
_Release
,
/* IDirect3DVolume9 */
/* IDirect3DVolume9 */
IDirect3DVolume9Impl
_GetDevice
,
d3d9_volume
_GetDevice
,
IDirect3DVolume9Impl
_SetPrivateData
,
d3d9_volume
_SetPrivateData
,
IDirect3DVolume9Impl
_GetPrivateData
,
d3d9_volume
_GetPrivateData
,
IDirect3DVolume9Impl
_FreePrivateData
,
d3d9_volume
_FreePrivateData
,
IDirect3DVolume9Impl
_GetContainer
,
d3d9_volume
_GetContainer
,
IDirect3DVolume9Impl
_GetDesc
,
d3d9_volume
_GetDesc
,
IDirect3DVolume9Impl
_LockBox
,
d3d9_volume
_LockBox
,
IDirect3DVolume9Impl_UnlockBox
d3d9_volume_UnlockBox
,
};
};
static
void
STDMETHODCALLTYPE
volume_wined3d_object_destroyed
(
void
*
parent
)
static
void
STDMETHODCALLTYPE
volume_wined3d_object_destroyed
(
void
*
parent
)
...
@@ -277,13 +274,13 @@ static const struct wined3d_parent_ops d3d9_volume_wined3d_parent_ops =
...
@@ -277,13 +274,13 @@ static const struct wined3d_parent_ops d3d9_volume_wined3d_parent_ops =
volume_wined3d_object_destroyed
,
volume_wined3d_object_destroyed
,
};
};
HRESULT
volume_init
(
IDirect3DVolume9Impl
*
volume
,
struct
d3d9_device
*
device
,
UINT
width
,
UINT
height
,
HRESULT
volume_init
(
struct
d3d9_volume
*
volume
,
struct
d3d9_device
*
device
,
UINT
width
,
UINT
height
,
UINT
depth
,
DWORD
usage
,
enum
wined3d_format_id
format
,
enum
wined3d_pool
pool
)
UINT
depth
,
DWORD
usage
,
enum
wined3d_format_id
format
,
enum
wined3d_pool
pool
)
{
{
HRESULT
hr
;
HRESULT
hr
;
volume
->
IDirect3DVolume9_iface
.
lpVtbl
=
&
Direct3DVolume9_V
tbl
;
volume
->
IDirect3DVolume9_iface
.
lpVtbl
=
&
d3d9_volume_v
tbl
;
volume
->
ref
=
1
;
volume
->
ref
count
=
1
;
hr
=
wined3d_volume_create
(
device
->
wined3d_device
,
width
,
height
,
depth
,
usage
&
WINED3DUSAGE_MASK
,
hr
=
wined3d_volume_create
(
device
->
wined3d_device
,
width
,
height
,
depth
,
usage
&
WINED3DUSAGE_MASK
,
format
,
pool
,
volume
,
&
d3d9_volume_wined3d_parent_ops
,
&
volume
->
wined3d_volume
);
format
,
pool
,
volume
,
&
d3d9_volume_wined3d_parent_ops
,
&
volume
->
wined3d_volume
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment