Pārlūkot izejas kodu

GPU: Implement the RGB10_A2 RenderTarget format, it will use the same format as the A2BGR10 texture format.

Subv 8 gadi atpakaļ
vecāks
revīzija
010227e149

+ 2 - 0
src/video_core/renderer_opengl/gl_rasterizer_cache.h

@@ -106,6 +106,8 @@ struct SurfaceParams {
         switch (format) {
         switch (format) {
         case Tegra::RenderTargetFormat::RGBA8_UNORM:
         case Tegra::RenderTargetFormat::RGBA8_UNORM:
             return PixelFormat::ABGR8;
             return PixelFormat::ABGR8;
+        case Tegra::RenderTargetFormat::RGB10_A2_UNORM:
+            return PixelFormat::A2B10G10R10;
         default:
         default:
             NGLOG_CRITICAL(HW_GPU, "Unimplemented format={}", static_cast<u32>(format));
             NGLOG_CRITICAL(HW_GPU, "Unimplemented format={}", static_cast<u32>(format));
             UNREACHABLE();
             UNREACHABLE();

+ 2 - 0
src/yuzu/debugger/graphics/graphics_surface.cpp

@@ -25,6 +25,8 @@ static Tegra::Texture::TextureFormat ConvertToTextureFormat(
     switch (render_target_format) {
     switch (render_target_format) {
     case Tegra::RenderTargetFormat::RGBA8_UNORM:
     case Tegra::RenderTargetFormat::RGBA8_UNORM:
         return Tegra::Texture::TextureFormat::A8R8G8B8;
         return Tegra::Texture::TextureFormat::A8R8G8B8;
+    case Tegra::RenderTargetFormat::RGB10_A2_UNORM:
+        return Tegra::Texture::TextureFormat::A2B10G10R10;
     default:
     default:
         UNIMPLEMENTED_MSG("Unimplemented RT format");
         UNIMPLEMENTED_MSG("Unimplemented RT format");
     }
     }