Parcourir la source

gl_rasterizer_cache: Add RGBA16U to PixelFormatFromTextureFormat.

- Used by Breath of the Wild.
bunnei il y a 8 ans
Parent
commit
8599e1e4fc
1 fichiers modifiés avec 9 ajouts et 1 suppressions
  1. 9 1
      src/video_core/renderer_opengl/gl_rasterizer_cache.h

+ 9 - 1
src/video_core/renderer_opengl/gl_rasterizer_cache.h

@@ -354,7 +354,15 @@ struct SurfaceParams {
                          static_cast<u32>(component_type));
             UNREACHABLE();
         case Tegra::Texture::TextureFormat::R16_G16_B16_A16:
-            return PixelFormat::RGBA16F;
+            switch (component_type) {
+            case Tegra::Texture::ComponentType::UNORM:
+                return PixelFormat::RGBA16U;
+            case Tegra::Texture::ComponentType::FLOAT:
+                return PixelFormat::RGBA16F;
+            }
+            LOG_CRITICAL(HW_GPU, "Unimplemented component_type={}",
+                         static_cast<u32>(component_type));
+            UNREACHABLE();
         case Tegra::Texture::TextureFormat::BF10GF11RF11:
             return PixelFormat::R11FG11FB10F;
         case Tegra::Texture::TextureFormat::R32_G32_B32_A32: