Why wined3d_device_copy_sub_resource_region() isn't implemented for WINED3D_RTYPE_CUBE_TEXTURE?
This seems the easiest option to me (if we exclude the already available one) but it looks like I'm having an issue with them: the destination surface is smaller than the source one.
I'm doing something like
+ if (src_rect) + { + src_box.left = src_rect->left; + src_box.top = src_rect->top; + src_box.right = src_rect->right; + src_box.bottom = src_rect->bottom; + src_box.front = 0; + src_box.back = 1; + } + else + { + src_box.left = 0; + src_box.top = 0; + src_box.right = src_desc.width; + src_box.bottom = src_desc.height; + src_box.front = 0; + src_box.back = 1; + } + + hr = wined3d_device_copy_sub_resource_region(device->wined3d_device, + wined3d_texture_get_resource(dst->wined3d_texture), dst->sub_resource_idx, dst_point ? dst_point->x : 0, + dst_point ? dst_point->y : 0, 0, wined3d_texture_get_resource(src->wined3d_texture), + src->sub_resource_idx, &src_box);
But test_cube_wrap() (d3d9/visual.c) fails in UpdateSurface (if I got debug right); the destination surface is smaller than the src rect (I'm I'm either getting the wrong sub index (e.g. the next mip) or
Ciao, Riccardo
2015-10-27 16:15 GMT+01:00 Riccardo Bortolato rikyz619@gmail.com:
OK, but since I could not find a definite answer I tried another road.
I assume you don't even want to look at it but use those methods instead.
Ciao, Riccardo
2015-10-27 15:40 GMT+01:00 Henri Verbeet hverbeet@gmail.com:
On 22 October 2015 at 12:01, Riccardo Bortolato rikyz619@gmail.com wrote:
enabled previously failing test in device.c removed wined3d_device_update_surface from wined3d and replaced its usage with surface_upload_from_surface.
This was mentioned in the discussion in the other thread, but just for the record, the options are either wined3d_device_update_sub_resource() or wined3d_device_copy_sub_resource_region().