wined3d: Use wined3d_buffer_load_location() in wined3d_buffer_get_memory().

wined3d_buffer_load_location() can handle loading from
WINED3D_LOCATION_DISCARDED just fine, so use it instead of duplicating the
functionality here.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2022-01-28 15:47:24 +01:00 committed by Alexandre Julliard
parent 837e605076
commit 287bfc7758
1 changed files with 1 additions and 3 deletions

View File

@ -653,14 +653,12 @@ DWORD wined3d_buffer_get_memory(struct wined3d_buffer *buffer, struct wined3d_co
if (locations & WINED3D_LOCATION_DISCARDED)
{
locations = ((buffer->flags & WINED3D_BUFFER_USE_BO) ? WINED3D_LOCATION_BUFFER : WINED3D_LOCATION_SYSMEM);
if (!wined3d_buffer_prepare_location(buffer, context, locations))
if (!wined3d_buffer_load_location(buffer, context, locations))
{
data->buffer_object = 0;
data->addr = NULL;
return 0;
}
wined3d_buffer_validate_location(buffer, locations);
wined3d_buffer_invalidate_location(buffer, WINED3D_LOCATION_DISCARDED);
}
if (locations & WINED3D_LOCATION_BUFFER)
{