-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 2013-08-26 16:16, schrieb Matteo Bruni:
2013/8/26 Stefan Dösinger stefan@codeweavers.com:
Try 2: *) Require only GPU access for buffers *) Reduce number of checkGLcall invocations *) Remove a return from an ERR case --- dlls/wined3d/utils.c | 1 + dlls/wined3d/volume.c | 168 ++++++++++++++++++++++++++++++++++++----- dlls/wined3d/wined3d_private.h | 7 +- 3 files changed, 157 insertions(+), 19 deletions(-)
case WINED3D_LOCATION_BUFFER: + if
(!volume->pbo || !(volume->flags & WINED3D_VFLAG_PBO)) + ERR("Trying to load WINED3D_LOCATION_BUFFER without setting it up first.\n"); + + if (volume->locations & WINED3D_LOCATION_DISCARDED) + { + TRACE("Volume previously discarded, nothing to do.\n"); + wined3d_volume_invalidate_location(volume, WINED3D_LOCATION_DISCARDED); + } + else if (volume->locations & WINED3D_LOCATION_TEXTURE_RGB) + { + struct wined3d_bo_address data = {volume->pbo, NULL}; + volume_bind_and_dirtify(volume, context); + wined3d_volume_download_data(volume, context, &data); + } + else + {
FIXME("Implement WINED3D_LOCATION_SYSMEM loading
from %s.\n", + wined3d_debug_location(volume->locations)); + return; + } + wined3d_volume_validate_location(volume, WINED3D_LOCATION_BUFFER); + break; +
Not really an actual review, but that FIXME looks wrong (copy-paste remnant probably).
Right, good catch.