|
|
@@ -140,71 +140,6 @@ void GPU::FlushCommands() {
|
|
|
renderer.Rasterizer().FlushCommands();
|
|
|
}
|
|
|
|
|
|
-u32 RenderTargetBytesPerPixel(RenderTargetFormat format) {
|
|
|
- ASSERT(format != RenderTargetFormat::NONE);
|
|
|
-
|
|
|
- switch (format) {
|
|
|
- case RenderTargetFormat::RGBA32_FLOAT:
|
|
|
- case RenderTargetFormat::RGBA32_UINT:
|
|
|
- return 16;
|
|
|
- case RenderTargetFormat::RGBA16_UINT:
|
|
|
- case RenderTargetFormat::RGBA16_UNORM:
|
|
|
- case RenderTargetFormat::RGBA16_FLOAT:
|
|
|
- case RenderTargetFormat::RGBX16_FLOAT:
|
|
|
- case RenderTargetFormat::RG32_FLOAT:
|
|
|
- case RenderTargetFormat::RG32_UINT:
|
|
|
- return 8;
|
|
|
- case RenderTargetFormat::RGBA8_UNORM:
|
|
|
- case RenderTargetFormat::RGBA8_SNORM:
|
|
|
- case RenderTargetFormat::RGBA8_SRGB:
|
|
|
- case RenderTargetFormat::RGBA8_UINT:
|
|
|
- case RenderTargetFormat::RGB10_A2_UNORM:
|
|
|
- case RenderTargetFormat::BGRA8_UNORM:
|
|
|
- case RenderTargetFormat::BGRA8_SRGB:
|
|
|
- case RenderTargetFormat::RG16_UNORM:
|
|
|
- case RenderTargetFormat::RG16_SNORM:
|
|
|
- case RenderTargetFormat::RG16_UINT:
|
|
|
- case RenderTargetFormat::RG16_SINT:
|
|
|
- case RenderTargetFormat::RG16_FLOAT:
|
|
|
- case RenderTargetFormat::R32_FLOAT:
|
|
|
- case RenderTargetFormat::R11G11B10_FLOAT:
|
|
|
- case RenderTargetFormat::R32_UINT:
|
|
|
- return 4;
|
|
|
- case RenderTargetFormat::R16_UNORM:
|
|
|
- case RenderTargetFormat::R16_SNORM:
|
|
|
- case RenderTargetFormat::R16_UINT:
|
|
|
- case RenderTargetFormat::R16_SINT:
|
|
|
- case RenderTargetFormat::R16_FLOAT:
|
|
|
- case RenderTargetFormat::RG8_UNORM:
|
|
|
- case RenderTargetFormat::RG8_SNORM:
|
|
|
- return 2;
|
|
|
- case RenderTargetFormat::R8_UNORM:
|
|
|
- case RenderTargetFormat::R8_UINT:
|
|
|
- return 1;
|
|
|
- default:
|
|
|
- UNIMPLEMENTED_MSG("Unimplemented render target format {}", static_cast<u32>(format));
|
|
|
- return 1;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-u32 DepthFormatBytesPerPixel(DepthFormat format) {
|
|
|
- switch (format) {
|
|
|
- case DepthFormat::Z32_S8_X24_FLOAT:
|
|
|
- return 8;
|
|
|
- case DepthFormat::Z32_FLOAT:
|
|
|
- case DepthFormat::S8_Z24_UNORM:
|
|
|
- case DepthFormat::Z24_X8_UNORM:
|
|
|
- case DepthFormat::Z24_S8_UNORM:
|
|
|
- case DepthFormat::Z24_C8_UNORM:
|
|
|
- return 4;
|
|
|
- case DepthFormat::Z16_UNORM:
|
|
|
- return 2;
|
|
|
- default:
|
|
|
- UNIMPLEMENTED_MSG("Unimplemented Depth format {}", static_cast<u32>(format));
|
|
|
- return 1;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
// Note that, traditionally, methods are treated as 4-byte addressable locations, and hence
|
|
|
// their numbers are written down multiplied by 4 in Docs. Here we are not multiply by 4.
|
|
|
// So the values you see in docs might be multiplied by 4.
|