"fb ms <format> <width> <height> <samples>" binds a fresh multisample
framebuffer object with the given format and dimensions.
---
 tests/shaders/shader_runner.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/tests/shaders/shader_runner.c b/tests/shaders/shader_runner.c
index 7123c1a..fcf77d1 100644
--- a/tests/shaders/shader_runner.c
+++ b/tests/shaders/shader_runner.c
@@ -3080,6 +3080,36 @@ piglit_display(void)
                                w = get_texture_binding(tex)->width;
                                h = get_texture_binding(tex)->height;
 
+                       } else if (parse_str(rest, "ms ", &rest)) {
+                               GLuint rb;
+                               GLenum format;
+                               int samples;
+
+                               REQUIRE(parse_enum_gl(rest, &format, &rest) &&
+                                       parse_int(rest, &w, &rest) &&
+                                       parse_int(rest, &h, &rest) &&
+                                       parse_int(rest, &samples, &rest),
+                                       "Framebuffer binding command not "
+                                       "understood at: %s\n", rest);
+
+                               glGenFramebuffers(1, &fbo);
+                               glBindFramebuffer(target, fbo);
+
+                               glGenRenderbuffers(1, &rb);
+                               glBindRenderbuffer(GL_RENDERBUFFER, rb);
+
+                               
glRenderbufferStorageMultisample(GL_RENDERBUFFER, samples,
+                                                                format, w, h);
+
+                               glFramebufferRenderbuffer(target,
+                                                         GL_COLOR_ATTACHMENT0,
+                                                         GL_RENDERBUFFER, rb);
+
+                               if (!piglit_check_gl_error(GL_NO_ERROR)) {
+                                       fprintf(stderr, 
"glFramebufferRenderbuffer error\n");
+                                       piglit_report_result(PIGLIT_FAIL);
+                               }
+
                        } else {
                                fprintf(stderr, "Unknown fb bind subcommand "
                                        "\"%s\"\n", rest);
-- 
2.9.0

_______________________________________________
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to