Henri Verbeet : wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_set_texture_name().
Alexandre Julliard
julliard at winehq.org
Tue Apr 27 16:59:31 CDT 2010
Module: wine
Branch: master
Commit: 294d9dae8f8de26c00d38d4a2e457fe47dc7e4f4
URL: http://source.winehq.org/git/wine.git/?a=commit;h=294d9dae8f8de26c00d38d4a2e457fe47dc7e4f4
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Mon Apr 26 21:33:02 2010 +0200
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_set_texture_name().
---
dlls/wined3d/cubetexture.c | 14 +++++++-------
dlls/wined3d/surface.c | 17 ++++++++---------
dlls/wined3d/texture.c | 14 +++++++-------
dlls/wined3d/wined3d_private.h | 2 +-
4 files changed, 23 insertions(+), 24 deletions(-)
diff --git a/dlls/wined3d/cubetexture.c b/dlls/wined3d/cubetexture.c
index e2865b2..44f6196 100644
--- a/dlls/wined3d/cubetexture.c
+++ b/dlls/wined3d/cubetexture.c
@@ -118,7 +118,7 @@ static void cubetexture_cleanup(IWineD3DCubeTextureImpl *This)
for (i = 0; i < sub_count; ++i)
{
- IWineD3DSurface *surface = (IWineD3DSurface *)This->baseTexture.sub_resources[i];
+ IWineD3DSurfaceImpl *surface = (IWineD3DSurfaceImpl *)This->baseTexture.sub_resources[i];
if (surface)
{
@@ -126,9 +126,9 @@ static void cubetexture_cleanup(IWineD3DCubeTextureImpl *This)
* surface doesn't try and release it. */
surface_set_texture_name(surface, 0, TRUE);
surface_set_texture_name(surface, 0, FALSE);
- surface_set_texture_target(surface, 0);
- IWineD3DSurface_SetContainer(surface, NULL);
- IWineD3DSurface_Release(surface);
+ surface_set_texture_target((IWineD3DSurface *)surface, 0);
+ IWineD3DSurface_SetContainer((IWineD3DSurface *)surface, NULL);
+ IWineD3DSurface_Release((IWineD3DSurface *)surface);
}
}
basetexture_cleanup((IWineD3DBaseTexture *)This);
@@ -216,9 +216,9 @@ static void WINAPI IWineD3DCubeTextureImpl_UnLoad(IWineD3DCubeTexture *iface)
for (i = 0; i < sub_count; ++i)
{
- IWineD3DSurface *surface = (IWineD3DSurface *)This->baseTexture.sub_resources[i];
+ IWineD3DSurfaceImpl *surface = (IWineD3DSurfaceImpl *)This->baseTexture.sub_resources[i];
- IWineD3DSurface_UnLoad(surface);
+ IWineD3DSurface_UnLoad((IWineD3DSurface *)surface);
surface_set_texture_name(surface, 0, TRUE);
surface_set_texture_name(surface, 0, FALSE);
}
@@ -287,7 +287,7 @@ static HRESULT WINAPI IWineD3DCubeTextureImpl_BindTexture(IWineD3DCubeTexture *i
for (i = 0; i < sub_count; ++i)
{
- IWineD3DSurface *surface = (IWineD3DSurface *)This->baseTexture.sub_resources[i];
+ IWineD3DSurfaceImpl *surface = (IWineD3DSurfaceImpl *)This->baseTexture.sub_resources[i];
if (This->baseTexture.is_srgb)
surface_set_texture_name(surface, This->baseTexture.texture_srgb.name, TRUE);
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index bba6ad9..efe5030 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -468,36 +468,35 @@ static void surface_force_reload(IWineD3DSurfaceImpl *surface)
surface->Flags &= ~(SFLAG_ALLOCATED | SFLAG_SRGBALLOCATED);
}
-void surface_set_texture_name(IWineD3DSurface *iface, GLuint new_name, BOOL srgb)
+void surface_set_texture_name(IWineD3DSurfaceImpl *surface, GLuint new_name, BOOL srgb)
{
- IWineD3DSurfaceImpl *This = (IWineD3DSurfaceImpl *)iface;
GLuint *name;
DWORD flag;
+ TRACE("surface %p, new_name %u, srgb %#x.\n", surface, new_name, srgb);
+
if(srgb)
{
- name = &This->texture_name_srgb;
+ name = &surface->texture_name_srgb;
flag = SFLAG_INSRGBTEX;
}
else
{
- name = &This->texture_name;
+ name = &surface->texture_name;
flag = SFLAG_INTEXTURE;
}
- TRACE("(%p) : setting texture name %u\n", This, new_name);
-
if (!*name && new_name)
{
/* FIXME: We shouldn't need to remove SFLAG_INTEXTURE if the
* surface has no texture name yet. See if we can get rid of this. */
- if (This->Flags & flag)
+ if (surface->Flags & flag)
ERR("Surface has SFLAG_INTEXTURE set, but no texture name\n");
- IWineD3DSurface_ModifyLocation(iface, flag, FALSE);
+ IWineD3DSurface_ModifyLocation((IWineD3DSurface *)surface, flag, FALSE);
}
*name = new_name;
- surface_force_reload(This);
+ surface_force_reload(surface);
}
void surface_set_texture_target(IWineD3DSurface *iface, GLenum target)
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
index bcbcfa9..35d5e61 100644
--- a/dlls/wined3d/texture.c
+++ b/dlls/wined3d/texture.c
@@ -111,16 +111,16 @@ static void texture_cleanup(IWineD3DTextureImpl *This)
for (i = 0; i < This->baseTexture.level_count; ++i)
{
- IWineD3DSurface *surface = (IWineD3DSurface *)This->baseTexture.sub_resources[i];
+ IWineD3DSurfaceImpl *surface = (IWineD3DSurfaceImpl *)This->baseTexture.sub_resources[i];
if (surface)
{
/* Clean out the texture name we gave to the surface so that the
* surface doesn't try and release it */
surface_set_texture_name(surface, 0, TRUE);
surface_set_texture_name(surface, 0, FALSE);
- surface_set_texture_target(surface, 0);
- IWineD3DSurface_SetContainer(surface, NULL);
- IWineD3DSurface_Release(surface);
+ surface_set_texture_target((IWineD3DSurface *)surface, 0);
+ IWineD3DSurface_SetContainer((IWineD3DSurface *)surface, NULL);
+ IWineD3DSurface_Release((IWineD3DSurface *)surface);
}
}
@@ -208,8 +208,8 @@ static void WINAPI IWineD3DTextureImpl_UnLoad(IWineD3DTexture *iface) {
*/
for (i = 0; i < This->baseTexture.level_count; ++i)
{
- IWineD3DSurface *surface = (IWineD3DSurface *)This->baseTexture.sub_resources[i];
- IWineD3DSurface_UnLoad(surface);
+ IWineD3DSurfaceImpl *surface = (IWineD3DSurfaceImpl *)This->baseTexture.sub_resources[i];
+ IWineD3DSurface_UnLoad((IWineD3DSurface *)surface);
surface_set_texture_name(surface, 0, FALSE); /* Delete rgb name */
surface_set_texture_name(surface, 0, TRUE); /* delete srgb name */
}
@@ -282,7 +282,7 @@ static HRESULT WINAPI IWineD3DTextureImpl_BindTexture(IWineD3DTexture *iface, BO
for (i = 0; i < This->baseTexture.level_count; ++i)
{
- IWineD3DSurface *surface = (IWineD3DSurface *)This->baseTexture.sub_resources[i];
+ IWineD3DSurfaceImpl *surface = (IWineD3DSurfaceImpl *)This->baseTexture.sub_resources[i];
surface_set_texture_name(surface, gl_tex->name, This->baseTexture.is_srgb);
}
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 27bc6aa..6ada851 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2680,7 +2680,7 @@ void surface_load_ds_location(IWineD3DSurfaceImpl *surface,
void surface_modify_ds_location(IWineD3DSurfaceImpl *surface, DWORD location) DECLSPEC_HIDDEN;
void surface_set_compatible_renderbuffer(IWineD3DSurfaceImpl *surface,
unsigned int width, unsigned int height) DECLSPEC_HIDDEN;
-void surface_set_texture_name(IWineD3DSurface *iface, GLuint name, BOOL srgb_name) DECLSPEC_HIDDEN;
+void surface_set_texture_name(IWineD3DSurfaceImpl *surface, GLuint name, BOOL srgb_name) DECLSPEC_HIDDEN;
void surface_set_texture_target(IWineD3DSurface *iface, GLenum target) DECLSPEC_HIDDEN;
BOOL getColorBits(const struct wined3d_format_desc *format_desc,
More information about the wine-cvs
mailing list