diff --git a/src/d3d11/d3d11_device.cpp b/src/d3d11/d3d11_device.cpp index f74f65e10..2dcb21108 100644 --- a/src/d3d11/d3d11_device.cpp +++ b/src/d3d11/d3d11_device.cpp @@ -1302,7 +1302,7 @@ namespace dxvk { static_cast(pResource)->GetDesc(&resourceDesc); pDesc->Format = resourceDesc.Format; - pDesc->ViewDimension = D3D11_SRV_DIMENSION_TEXTURE1D; + pDesc->ViewDimension = D3D11_SRV_DIMENSION_TEXTURE3D; pDesc->Texture3D.MostDetailedMip = 0; pDesc->Texture3D.MipLevels = resourceDesc.MipLevels; } return S_OK; diff --git a/src/dxvk/dxvk_context.cpp b/src/dxvk/dxvk_context.cpp index 6db65a323..90f64ad15 100644 --- a/src/dxvk/dxvk_context.cpp +++ b/src/dxvk/dxvk_context.cpp @@ -518,14 +518,14 @@ namespace dxvk { } else { for (uint32_t i = 0; i < elementCount.depth; i++) { for (uint32_t j = 0; j < elementCount.height; j++) { - std::memcpy(dstData, srcData, bytesPerRow); - - dstData += bytesPerRow; - srcData += pitchPerRow; + std::memcpy( + dstData + j * bytesPerRow, + srcData + j * pitchPerRow, + bytesPerRow); } - dstData += bytesPerLayer; srcData += pitchPerLayer; + dstData += bytesPerLayer; } }