convert Cube test to use UploadAndWait

refresh2
cosmonaut 2024-02-23 14:30:53 -08:00
parent 1876258114
commit 795331c133
1 changed files with 8 additions and 13 deletions

View File

@ -52,15 +52,13 @@ namespace MoonWorks.Test
}
}
// Upload cubemap layers one at a time to minimize transfer size
unsafe void LoadCubemap(string[] imagePaths)
{
var cubemapTransferBuffer = new TransferBuffer(GraphicsDevice, skyboxTexture.Width * skyboxTexture.Height * 4);
var cubemapUploader = new ResourceInitializer(GraphicsDevice);
/* Upload cubemap layers one at a time to minimize transfer size */
for (uint i = 0; i < imagePaths.Length; i++)
{
var commandBuffer = GraphicsDevice.AcquireCommandBuffer();
var textureSlice = new TextureSlice
{
Texture = skyboxTexture,
@ -75,18 +73,15 @@ namespace MoonWorks.Test
Depth = 1
};
ImageUtils.DecodeIntoTransferBuffer(imagePaths[i], cubemapTransferBuffer, 0, SetDataOptions.Overwrite);
cubemapUploader.SetTextureDataFromCompressed(
textureSlice,
imagePaths[i]
);
commandBuffer.BeginCopyPass();
commandBuffer.UploadToTexture(cubemapTransferBuffer, textureSlice, new BufferImageCopy(0, 0, 0));
commandBuffer.EndCopyPass();
var fence = GraphicsDevice.SubmitAndAcquireFence(commandBuffer);
GraphicsDevice.WaitForFences(fence);
GraphicsDevice.ReleaseFence(fence);
cubemapUploader.UploadAndWait();
}
cubemapTransferBuffer.Dispose();
cubemapUploader.Dispose();
}
public CubeGame() : base(TestUtils.GetStandardWindowCreateInfo(), TestUtils.GetStandardFrameLimiterSettings(), 60, true)