Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
22022cf8
Commit
22022cf8
authored
Jun 02, 2009
by
Henri Verbeet
Committed by
Alexandre Julliard
Jun 02, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wined3d: Create a texture_cleanup() function.
parent
451a416f
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
25 additions
and
14 deletions
+25
-14
texture.c
dlls/wined3d/texture.c
+25
-14
No files found.
dlls/wined3d/texture.c
View file @
22022cf8
...
...
@@ -27,6 +27,30 @@
WINE_DEFAULT_DEBUG_CHANNEL
(
d3d_texture
);
#define GLINFO_LOCATION This->resource.wineD3DDevice->adapter->gl_info
static
void
texture_cleanup
(
IWineD3DTextureImpl
*
This
,
D3DCB_DESTROYSURFACEFN
surface_destroy_cb
)
{
unsigned
int
i
;
TRACE
(
"(%p) : Cleaning up
\n
"
,
This
);
for
(
i
=
0
;
i
<
This
->
baseTexture
.
levels
;
++
i
)
{
if
(
This
->
surfaces
[
i
])
{
/* Clean out the texture name we gave to the surface so that the
* surface doesn't try and release it */
surface_set_texture_name
(
This
->
surfaces
[
i
],
0
,
TRUE
);
surface_set_texture_name
(
This
->
surfaces
[
i
],
0
,
FALSE
);
surface_set_texture_target
(
This
->
surfaces
[
i
],
0
);
IWineD3DSurface_SetContainer
(
This
->
surfaces
[
i
],
0
);
surface_destroy_cb
(
This
->
surfaces
[
i
]);
}
}
TRACE
(
"(%p) : Cleaning up base texture
\n
"
,
This
);
basetexture_cleanup
((
IWineD3DBaseTexture
*
)
This
);
}
/* *******************************************
IWineD3DTexture IUnknown parts follow
******************************************* */
...
...
@@ -276,21 +300,8 @@ static BOOL WINAPI IWineD3DTextureImpl_IsCondNP2(IWineD3DTexture *iface) {
******************************************* */
static
void
WINAPI
IWineD3DTextureImpl_Destroy
(
IWineD3DTexture
*
iface
,
D3DCB_DESTROYSURFACEFN
D3DCB_DestroySurface
)
{
IWineD3DTextureImpl
*
This
=
(
IWineD3DTextureImpl
*
)
iface
;
unsigned
int
i
;
TRACE
(
"(%p) : Cleaning up
\n
"
,
This
);
for
(
i
=
0
;
i
<
This
->
baseTexture
.
levels
;
i
++
)
{
if
(
This
->
surfaces
[
i
]
!=
NULL
)
{
/* Clean out the texture name we gave to the surface so that the surface doesn't try and release it */
surface_set_texture_name
(
This
->
surfaces
[
i
],
0
,
TRUE
);
surface_set_texture_name
(
This
->
surfaces
[
i
],
0
,
FALSE
);
surface_set_texture_target
(
This
->
surfaces
[
i
],
0
);
IWineD3DSurface_SetContainer
(
This
->
surfaces
[
i
],
0
);
D3DCB_DestroySurface
(
This
->
surfaces
[
i
]);
}
}
TRACE
(
"(%p) : cleaning up base texture
\n
"
,
This
);
basetexture_cleanup
((
IWineD3DBaseTexture
*
)
iface
);
texture_cleanup
(
This
,
D3DCB_DestroySurface
);
/* free the object */
HeapFree
(
GetProcessHeap
(),
0
,
This
);
}
...
...
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