<div dir="ltr">Anyone like to review this really old series?<br>See the patches pending review at:<br><a href="http://patchwork.freedesktop.org/project/piglit/list/?submitter=10862" target="_blank">http://patchwork.freedesktop.org/project/piglit/list/?submitter=10862</a>
<div class="gmail_extra"><br></div><div class="gmail_extra">Thanks</div><div class="gmail_extra">Anuj<br><br><div class="gmail_quote">On Fri, May 9, 2014 at 12:42 PM, Anuj Phogat <span dir="ltr"><<a href="mailto:anuj.phogat@gmail.com" target="_blank">anuj.phogat@gmail.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This refactoring will make it easier to add the code for initializing<br>
multiple renderbuffers / textures in following patches.<br>
<br>
No functional changes in this patch.<br>
<br>
Signed-off-by: Anuj Phogat <<a href="mailto:anuj.phogat@gmail.com" target="_blank">anuj.phogat@gmail.com</a>><br>
---<br>
 tests/util/piglit-fbo.cpp | 100 +++++++++++++++++++++++++++-------------------<br>
 tests/util/piglit-fbo.h   |   3 ++<br>
 2 files changed, 62 insertions(+), 41 deletions(-)<br>
<br>
diff --git a/tests/util/piglit-fbo.cpp b/tests/util/piglit-fbo.cpp<br>
index a85d19d..906fa55 100644<br>
--- a/tests/util/piglit-fbo.cpp<br>
+++ b/tests/util/piglit-fbo.cpp<br>
@@ -67,6 +67,62 @@ Fbo::generate_gl_objects(void)<br>
 }<br>
<br>
 void<br>
+Fbo::attach_color_renderbuffer(const FboConfig &config)<br>
+{<br>
+       glBindRenderbuffer(GL_RENDERBUFFER, color_rb);<br>
+       glRenderbufferStorageMultisample(GL_RENDERBUFFER,<br>
+                                        config.num_samples,<br>
+                                        config.color_internalformat,<br>
+                                        config.width,<br>
+                                        config.height);<br>
+       glFramebufferRenderbuffer(GL_DRAW_FRAMEBUFFER,<br>
+                                 GL_COLOR_ATTACHMENT0,<br>
+                                 GL_RENDERBUFFER, color_rb);<br>
+}<br>
+<br>
+void<br>
+Fbo::attach_color_texture(const FboConfig &config)<br>
+{<br>
+       glBindTexture(GL_TEXTURE_RECTANGLE, color_tex);<br>
+       glTexParameteri(GL_TEXTURE_RECTANGLE, GL_TEXTURE_MIN_FILTER,<br>
+                       GL_NEAREST);<br>
+       glTexParameteri(GL_TEXTURE_RECTANGLE, GL_TEXTURE_MAG_FILTER,<br>
+                       GL_NEAREST);<br>
+       glTexImage2D(GL_TEXTURE_RECTANGLE,<br>
+                    0 /* level */,<br>
+                    config.color_internalformat,<br>
+                    config.width,<br>
+                    config.height,<br>
+                    0 /* border */,<br>
+                    config.color_format /* format */,<br>
+                    GL_BYTE /* type */,<br>
+                    NULL /* data */);<br>
+       glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER,<br>
+                              GL_COLOR_ATTACHMENT0,<br>
+                              GL_TEXTURE_RECTANGLE,<br>
+                              color_tex,<br>
+                              0 /* level */);<br>
+}<br>
+<br>
+void<br>
+Fbo::attach_multisample_color_texture(const FboConfig &config)<br>
+{<br>
+       glBindTexture(GL_TEXTURE_2D_MULTISAMPLE, color_tex);<br>
+       glTexImage2DMultisample(GL_TEXTURE_2D_MULTISAMPLE,<br>
+                               config.num_samples,<br>
+                               config.color_internalformat,<br>
+                               config.width,<br>
+                               config.height,<br>
+                               GL_TRUE /* fixed sample locations */);<br>
+<br>
+       glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER,<br>
+                              GL_COLOR_ATTACHMENT0,<br>
+                              GL_TEXTURE_2D_MULTISAMPLE,<br>
+                              color_tex,<br>
+                              0 /* level */);<br>
+}<br>
+<br>
+void<br>
 Fbo::set_samples(int num_samples)<br>
 {<br>
        FboConfig new_config = this->config;<br>
@@ -106,51 +162,13 @@ Fbo::try_setup(const FboConfig &new_config)<br>
        /* Color buffer */<br>
        if (config.color_internalformat != GL_NONE) {<br>
                if (!config.attach_texture) {<br>
-                       glBindRenderbuffer(GL_RENDERBUFFER, color_rb);<br>
-                       glRenderbufferStorageMultisample(GL_RENDERBUFFER,<br>
-                                                        config.num_samples,<br>
-                                                        config.color_internalformat,<br>
-                                                        config.width,<br>
-                                                        config.height);<br>
-                       glFramebufferRenderbuffer(GL_DRAW_FRAMEBUFFER,<br>
-                                                 GL_COLOR_ATTACHMENT0,<br>
-                                                 GL_RENDERBUFFER, color_rb);<br>
+                       attach_color_renderbuffer(new_config);<br>
                } else if (config.num_samples == 0) {<br>
+                       attach_color_texture(new_config);<br>
                        piglit_require_extension("GL_ARB_texture_rectangle");<br>
-                       glBindTexture(GL_TEXTURE_RECTANGLE, color_tex);<br>
-                       glTexParameteri(GL_TEXTURE_RECTANGLE, GL_TEXTURE_MIN_FILTER,<br>
-                                       GL_NEAREST);<br>
-                       glTexParameteri(GL_TEXTURE_RECTANGLE, GL_TEXTURE_MAG_FILTER,<br>
-                                       GL_NEAREST);<br>
-                       glTexImage2D(GL_TEXTURE_RECTANGLE,<br>
-                                    0 /* level */,<br>
-                                    config.color_internalformat,<br>
-                                    config.width,<br>
-                                    config.height,<br>
-                                    0 /* border */,<br>
-                                    config.color_format /* format */,<br>
-                                    GL_BYTE /* type */,<br>
-                                    NULL /* data */);<br>
-                       glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER,<br>
-                                              GL_COLOR_ATTACHMENT0,<br>
-                                              GL_TEXTURE_RECTANGLE,<br>
-                                              color_tex,<br>
-                                              0 /* level */);<br>
                } else {<br>
                        piglit_require_extension("GL_ARB_texture_multisample");<br>
-                       glBindTexture(GL_TEXTURE_2D_MULTISAMPLE, color_tex);<br>
-                       glTexImage2DMultisample(GL_TEXTURE_2D_MULTISAMPLE,<br>
-                                               config.num_samples,<br>
-                                               config.color_internalformat,<br>
-                                               config.width,<br>
-                                               config.height,<br>
-                                               GL_TRUE /* fixed sample locations */);<br>
-<br>
-                       glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER,<br>
-                                              GL_COLOR_ATTACHMENT0,<br>
-                                              GL_TEXTURE_2D_MULTISAMPLE,<br>
-                                              color_tex,<br>
-                                              0 /* level */);<br>
+                       attach_multisample_color_texture(new_config);<br>
                }<br>
        }<br>
<br>
diff --git a/tests/util/piglit-fbo.h b/tests/util/piglit-fbo.h<br>
index 17acf4e..e225149 100644<br>
--- a/tests/util/piglit-fbo.h<br>
+++ b/tests/util/piglit-fbo.h<br>
@@ -139,6 +139,9 @@ namespace piglit_util_fbo {<br>
<br>
        private:<br>
                void generate_gl_objects();<br>
+               void attach_color_renderbuffer(const FboConfig &config);<br>
+               void attach_color_texture(const FboConfig &config);<br>
+               void attach_multisample_color_texture(const FboConfig &config);<br>
<br>
                /**<br>
                 * True if generate_gl_objects has been called and color_tex,<br>
<span><font color="#888888">--<br>
1.8.3.1<br>
<br>
</font></span></blockquote></div><br></div></div>