Просмотр исходного кода

Use default values for unknown framebuffer pixel format

FernandoS27 7 лет назад
Родитель
Сommit
0a9fedfac9
2 измененных файлов с 8 добавлено и 0 удалено
  1. 2 0
      src/video_core/gpu.cpp
  2. 6 0
      src/video_core/renderer_opengl/renderer_opengl.cpp

+ 2 - 0
src/video_core/gpu.cpp

@@ -17,6 +17,8 @@ u32 FramebufferConfig::BytesPerPixel(PixelFormat format) {
     switch (format) {
     switch (format) {
     case PixelFormat::ABGR8:
     case PixelFormat::ABGR8:
         return 4;
         return 4;
+    default:
+        return 4;
     }
     }
 
 
     UNREACHABLE();
     UNREACHABLE();

+ 6 - 0
src/video_core/renderer_opengl/renderer_opengl.cpp

@@ -304,6 +304,12 @@ void RendererOpenGL::ConfigureFramebufferTexture(TextureInfo& texture,
         gl_framebuffer_data.resize(texture.width * texture.height * 4);
         gl_framebuffer_data.resize(texture.width * texture.height * 4);
         break;
         break;
     default:
     default:
+        internal_format = GL_RGBA;
+        texture.gl_format = GL_RGBA;
+        texture.gl_type = GL_UNSIGNED_INT_8_8_8_8_REV;
+        gl_framebuffer_data.resize(texture.width * texture.height * 4);
+        LOG_CRITICAL(Render_OpenGL, "Unknown framebuffer pixel format: {}",
+                     static_cast<u32>(framebuffer.pixel_format));
         UNREACHABLE();
         UNREACHABLE();
     }
     }