Browse Source

glgsg: fix multisample FBO for 16-bit float buffer

Fixes #756
rdb 6 years ago
parent
commit
6dcaab2d3a
1 changed files with 5 additions and 1 deletions
  1. 5 1
      panda/src/glstuff/glGraphicsBuffer_src.cxx

+ 5 - 1
panda/src/glstuff/glGraphicsBuffer_src.cxx

@@ -1198,7 +1198,11 @@ bind_slot_multisample(bool rb_resize, Texture **attach, RenderTexturePlane slot,
         if (_fb_properties.get_srgb_color()) {
           gl_format = GL_SRGB8_ALPHA8;
         } else if (_fb_properties.get_float_color()) {
-          gl_format = GL_RGBA32F_ARB;
+          if (_fb_properties.get_color_bits() > 16 * 3) {
+            gl_format = GL_RGBA32F_ARB;
+          } else {
+            gl_format = GL_RGBA16F_ARB;
+          }
         } else {
           gl_format = GL_RGBA;
         }