wined3d: Swap the container's texture name in flip_surface().

oldstable
Henri Verbeet 2013-11-22 16:22:16 +01:00 committed by Alexandre Julliard
parent 2ab0002674
commit caf9ad6c2c
1 changed files with 12 additions and 0 deletions

View File

@ -3997,6 +3997,10 @@ static HRESULT d3dfmt_convert_surface(const BYTE *src, BYTE *dst, UINT pitch, UI
void flip_surface(struct wined3d_surface *front, struct wined3d_surface *back)
{
if (front->container->level_count != 1 || front->container->layer_count != 1
|| back->container->level_count != 1 || back->container->layer_count != 1)
ERR("Flip between surfaces %p and %p not supported.\n", front, back);
/* Flip the surface contents */
/* Flip the DC */
{
@ -4041,6 +4045,14 @@ void flip_surface(struct wined3d_surface *front, struct wined3d_surface *back)
{
GLuint tmp;
tmp = back->container->texture_rgb.name;
back->container->texture_rgb.name = front->container->texture_rgb.name;
front->container->texture_rgb.name = tmp;
tmp = back->container->texture_srgb.name;
back->container->texture_srgb.name = front->container->texture_srgb.name;
front->container->texture_srgb.name = tmp;
tmp = back->rb_multisample;
back->rb_multisample = front->rb_multisample;
front->rb_multisample = tmp;