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

Merge pull request #944 from Subv/spam

GLRasterizer: Don't try to get a pointer to the depth buffer if it doesn't exist.
bunnei 11 лет назад
Родитель
Сommit
9a3b21bcf9
1 измененных файлов с 7 добавлено и 3 удалено
  1. 7 3
      src/video_core/renderer_opengl/gl_rasterizer.cpp

+ 7 - 3
src/video_core/renderer_opengl/gl_rasterizer.cpp

@@ -816,12 +816,16 @@ void RasterizerOpenGL::ReloadColorBuffer() {
 }
 }
 
 
 void RasterizerOpenGL::ReloadDepthBuffer() {
 void RasterizerOpenGL::ReloadDepthBuffer() {
+    PAddr depth_buffer_addr = Pica::g_state.regs.framebuffer.GetDepthBufferPhysicalAddress();
+
+    if (depth_buffer_addr == 0)
+        return;
+
     // TODO: Appears to work, but double-check endianness of depth values and order of depth-stencil
     // TODO: Appears to work, but double-check endianness of depth values and order of depth-stencil
-    u8* depth_buffer = Memory::GetPhysicalPointer(Pica::g_state.regs.framebuffer.GetDepthBufferPhysicalAddress());
+    u8* depth_buffer = Memory::GetPhysicalPointer(depth_buffer_addr);
 
 
-    if (depth_buffer == nullptr) {
+    if (depth_buffer == nullptr)
         return;
         return;
-    }
 
 
     u32 bytes_per_pixel = Pica::Regs::BytesPerDepthPixel(fb_depth_texture.format);
     u32 bytes_per_pixel = Pica::Regs::BytesPerDepthPixel(fb_depth_texture.format);