wined3d: Bind the texture before calling wined3d_volume_upload_data() in wined3d_volume_load_location().

This commit is contained in:
Henri Verbeet 2015-04-16 11:26:33 +02:00 committed by Alexandre Julliard
parent 9c20f9bca6
commit 52478e3809
1 changed files with 6 additions and 0 deletions

View File

@ -64,6 +64,8 @@ void wined3d_volume_get_pitch(const struct wined3d_volume *volume, UINT *row_pit
TRACE("Returning row pitch %u, slice pitch %u.\n", *row_pitch, *slice_pitch);
}
/* This call just uploads data, the caller is responsible for binding the
* correct texture. */
/* Context activation is done by the caller. */
void wined3d_volume_upload_data(struct wined3d_volume *volume, const struct wined3d_context *context,
const struct wined3d_const_bo_address *data)
@ -273,11 +275,15 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
else if (volume->locations & WINED3D_LOCATION_SYSMEM)
{
struct wined3d_const_bo_address data = {0, volume->resource.heap_memory};
wined3d_texture_bind_and_dirtify(volume->container, context,
location == WINED3D_LOCATION_TEXTURE_SRGB);
wined3d_volume_upload_data(volume, context, &data);
}
else if (volume->locations & WINED3D_LOCATION_BUFFER)
{
struct wined3d_const_bo_address data = {volume->pbo, NULL};
wined3d_texture_bind_and_dirtify(volume->container, context,
location == WINED3D_LOCATION_TEXTURE_SRGB);
wined3d_volume_upload_data(volume, context, &data);
}
else if (volume->locations & WINED3D_LOCATION_TEXTURE_RGB)