[Piglit] [PATCH] ext_framebuffer_multisample: Add color, depth and stencil format variables in Fbo class
Anuj Phogat
anuj.phogat at gmail.com
Fri May 11 18:22:48 PDT 2012
These variables can be used to create an fbo with required formats.
Note: These changes don't affect any of the existing test cases in
directory ext_framebuffer_multisample
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
---
tests/spec/ext_framebuffer_multisample/common.cpp | 16 ++++++++++------
tests/spec/ext_framebuffer_multisample/common.h | 4 ++++
2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/tests/spec/ext_framebuffer_multisample/common.cpp b/tests/spec/ext_framebuffer_multisample/common.cpp
index d1e6bcd..09431a6 100644
--- a/tests/spec/ext_framebuffer_multisample/common.cpp
+++ b/tests/spec/ext_framebuffer_multisample/common.cpp
@@ -121,6 +121,10 @@ Fbo::init(int num_samples, int width, int height, bool combine_depth_stencil,
generate();
this->width = width;
this->height = height;
+ this->color_format = GL_RGBA;
+ this->depth_format = GL_DEPTH_COMPONENT24;
+ this->stencil_format = GL_STENCIL_INDEX8;
+ this->depth_stencil_format = GL_DEPTH_STENCIL;
this->combine_depth_stencil = combine_depth_stencil;
this->attach_texture = attach_texture;
set_samples(num_samples);
@@ -145,7 +149,7 @@ Fbo::set_samples(int num_samples)
glGenRenderbuffers(1, &rb);
glBindRenderbuffer(GL_RENDERBUFFER, rb);
glRenderbufferStorageMultisample(GL_RENDERBUFFER, num_samples,
- GL_RGBA, width, height);
+ color_format, width, height);
glFramebufferRenderbuffer(GL_DRAW_FRAMEBUFFER,
GL_COLOR_ATTACHMENT0,
GL_RENDERBUFFER, rb);
@@ -158,11 +162,11 @@ Fbo::set_samples(int num_samples)
GL_NEAREST);
glTexImage2D(GL_TEXTURE_2D,
0 /* level */,
- GL_RGBA /* internalformat */,
+ color_format /* internalformat */,
width,
height,
0 /* border */,
- GL_RGBA /* format */,
+ color_format /* format */,
GL_BYTE /* type */,
NULL /* data */);
glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER,
@@ -178,7 +182,7 @@ Fbo::set_samples(int num_samples)
glGenRenderbuffers(1, &depth_stencil);
glBindRenderbuffer(GL_RENDERBUFFER, depth_stencil);
glRenderbufferStorageMultisample(GL_RENDERBUFFER, num_samples,
- GL_DEPTH_STENCIL, width,
+ depth_stencil_format, width,
height);
glFramebufferRenderbuffer(GL_DRAW_FRAMEBUFFER,
GL_DEPTH_STENCIL_ATTACHMENT,
@@ -188,7 +192,7 @@ Fbo::set_samples(int num_samples)
glGenRenderbuffers(1, &stencil);
glBindRenderbuffer(GL_RENDERBUFFER, stencil);
glRenderbufferStorageMultisample(GL_RENDERBUFFER, num_samples,
- GL_STENCIL_INDEX8,
+ stencil_format,
width, height);
glFramebufferRenderbuffer(GL_DRAW_FRAMEBUFFER,
GL_STENCIL_ATTACHMENT,
@@ -198,7 +202,7 @@ Fbo::set_samples(int num_samples)
glGenRenderbuffers(1, &depth);
glBindRenderbuffer(GL_RENDERBUFFER, depth);
glRenderbufferStorageMultisample(GL_RENDERBUFFER, num_samples,
- GL_DEPTH_COMPONENT24,
+ depth_format,
width, height);
glFramebufferRenderbuffer(GL_DRAW_FRAMEBUFFER,
GL_DEPTH_ATTACHMENT,
diff --git a/tests/spec/ext_framebuffer_multisample/common.h b/tests/spec/ext_framebuffer_multisample/common.h
index d86cb95..f5cb7d1 100644
--- a/tests/spec/ext_framebuffer_multisample/common.h
+++ b/tests/spec/ext_framebuffer_multisample/common.h
@@ -59,6 +59,10 @@ public:
int height;
bool combine_depth_stencil;
bool attach_texture;
+ GLenum color_format;
+ GLenum depth_format;
+ GLenum stencil_format;
+ GLenum depth_stencil_format;
GLuint handle;
/**
--
1.7.7.6
More information about the Piglit
mailing list