You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// outCPUImage is an image matching the params of dstImage but with the extents and layer count of the current region being copied and mipLevel 1u
296
+
// the buffer of this image is set to (stagingBufferPointer + stagingBufferOffset) and the related region is set to cover the whole copy region (offset from 0)
outCPUImageParams.flags = asset::IImage::ECF_NONE; // Because we may want to write to first few layers of CUBEMAP (<6) but it's not valid to create an Cube ICPUImage with less that 6 layers.
auto dstImageParams = dstImage->getCreationParameters();
569
-
570
-
// this one is not cached currently
571
-
// because image creation depends on creating it with a buffer pointing to stagingBuffer memory pointer which we do not have access to in initialization time
572
-
// [TODO] but maybe we could cache it by tricking the filtes to have the `stagingBufferOffset` with outOffsetBaseLayer
573
-
// and we know we can because `stagingBufferOffset` is a multiple of block byte size, but range checks may fail?!
574
-
575
-
// outCPUImage is an image matching the params of dstImage but with the extents and layer count of the current region being copied and mipLevel 1u
576
-
// the buffer of this image is set to (stagingBufferPointer + stagingBufferOffset) and the related region is set to cover the whole copy region (offset from 0)
577
-
{
578
-
auto outCpuImageRegionsDynArray = core::make_refctd_dynamic_array<core::smart_refctd_dynamic_array<asset::ICPUImage::SBufferCopy>>(1);
outCPUImageParams.flags = asset::IImage::ECF_NONE; // Because we may want to write to first few layers of CUBEMAP (<6) but it's not valid to create an Cube ICPUImage with less that 6 layers.
0 commit comments