This will make it possible to test proper operation of MSAA with
various color buffer formats.  For tests that don't need to vary the
color buffer format, a default format of GL_RGBA is used.
---
 tests/spec/ext_framebuffer_multisample/common.cpp |    8 +++++---
 tests/spec/ext_framebuffer_multisample/common.h   |    6 ++++++
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/tests/spec/ext_framebuffer_multisample/common.cpp 
b/tests/spec/ext_framebuffer_multisample/common.cpp
index 647151a..ce0552e 100644
--- a/tests/spec/ext_framebuffer_multisample/common.cpp
+++ b/tests/spec/ext_framebuffer_multisample/common.cpp
@@ -115,7 +115,8 @@ FboConfig::FboConfig(int num_samples, int width, int height)
          width(width),
          height(height),
          combine_depth_stencil(true),
-         attach_texture(false)
+         attach_texture(false),
+         color_internalformat(GL_RGBA)
 {
 }
 
@@ -163,7 +164,8 @@ Fbo::setup(const FboConfig &new_config)
                glBindRenderbuffer(GL_RENDERBUFFER, color_rb);
                glRenderbufferStorageMultisample(GL_RENDERBUFFER,
                                                 config.num_samples,
-                                                GL_RGBA, config.width,
+                                                config.color_internalformat,
+                                                config.width,
                                                 config.height);
                glFramebufferRenderbuffer(GL_DRAW_FRAMEBUFFER,
                                          GL_COLOR_ATTACHMENT0,
@@ -176,7 +178,7 @@ Fbo::setup(const FboConfig &new_config)
                                GL_NEAREST);
                glTexImage2D(GL_TEXTURE_2D,
                             0 /* level */,
-                            GL_RGBA /* internalformat */,
+                            config.color_internalformat,
                             config.width,
                             config.height,
                             0 /* border */,
diff --git a/tests/spec/ext_framebuffer_multisample/common.h 
b/tests/spec/ext_framebuffer_multisample/common.h
index b27c9de..3caf8a0 100644
--- a/tests/spec/ext_framebuffer_multisample/common.h
+++ b/tests/spec/ext_framebuffer_multisample/common.h
@@ -63,6 +63,12 @@ public:
         * be used.  Defaults to false.
         */
        bool attach_texture;
+
+       /**
+        * Internalformat that should be used for the color buffer.
+        * Defaults to GL_RGBA.
+        */
+       GLenum color_internalformat;
 };
 
 /**
-- 
1.7.7.6

_______________________________________________
Piglit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to