On Mon, Sep 21, 2015 at 8:57 AM, Ian Romanick <[email protected]> wrote: > > From: Ian Romanick <[email protected]> > > Signed-off-by: Ian Romanick <[email protected]> > --- > tests/util/piglit-fbo.cpp | 43 ++++++++++++++++++++++++++++++------------- > tests/util/piglit-fbo.h | 18 ++++++++++++++++++ > 2 files changed, 48 insertions(+), 13 deletions(-) > > diff --git a/tests/util/piglit-fbo.cpp b/tests/util/piglit-fbo.cpp > index 49e9b26..bc705aa 100644 > --- a/tests/util/piglit-fbo.cpp > +++ b/tests/util/piglit-fbo.cpp > @@ -37,6 +37,8 @@ FboConfig::FboConfig(int num_samples, int width, int height) > num_tex_attachments(0), > width(width), > height(height), > + layers(0), > + attachment_layer(0), > combine_depth_stencil(true), > color_format(GL_RGBA), > color_internalformat(GL_RGBA), > @@ -116,19 +118,34 @@ Fbo::attach_color_texture(const FboConfig &config, int > index) > void > Fbo::attach_multisample_color_texture(const FboConfig &config, int index) > { > - glBindTexture(GL_TEXTURE_2D_MULTISAMPLE, color_tex[index]); > - glTexImage2DMultisample(GL_TEXTURE_2D_MULTISAMPLE, > - config.num_samples, > - config.color_internalformat, > - config.width, > - config.height, > - GL_TRUE /* fixed sample locations */); > - > - glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, > - config.tex_attachment[index], > - GL_TEXTURE_2D_MULTISAMPLE, > - color_tex[index], > - 0 /* level */); > + if (config.layers == 0) { > + glBindTexture(GL_TEXTURE_2D_MULTISAMPLE, color_tex[index]); > + glTexImage2DMultisample(GL_TEXTURE_2D_MULTISAMPLE, > + config.num_samples, > + config.color_internalformat, > + config.width, > + config.height, > + GL_TRUE /* fixed sample locations */); > + glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, > + config.tex_attachment[index], > + GL_TEXTURE_2D_MULTISAMPLE, > + color_tex[index], > + 0 /* level */); > + } else { > + glBindTexture(GL_TEXTURE_2D_MULTISAMPLE_ARRAY, > color_tex[index]); > + glTexImage3DMultisample(GL_TEXTURE_2D_MULTISAMPLE_ARRAY, > + config.num_samples, > + config.color_internalformat, > + config.width, > + config.height, > + config.layers, > + GL_TRUE /* fixed sample locations */); > + glFramebufferTextureLayer(GL_DRAW_FRAMEBUFFER, > + config.tex_attachment[index], > + color_tex[index], > + 0 /* level */, > + config.attachment_layer); > + } > } > > void > diff --git a/tests/util/piglit-fbo.h b/tests/util/piglit-fbo.h > index b8ddaf8..8f956a4 100644 > --- a/tests/util/piglit-fbo.h > +++ b/tests/util/piglit-fbo.h > @@ -51,6 +51,24 @@ namespace piglit_util_fbo { > int height; > > /** > + * If non-zero, GL_TEXTURE_2D_MULTISAMPLE_ARRAY is used with > + * the specified number of layers instead of > + * GL_TEXTURE_2D_MULTISAMPLE. > + * > + * Default value is zero. > + */ > + unsigned layers; > + > + /** > + * Specifies the layer of the texture that should be attached > + * to the framebuffer. This must be less than the value of > + * ::layers (unless ::layers is zero). > + * > + * Default value is zero. > + */ > + unsigned attachment_layer; > + > + /** > * True if a single renderbuffer should be used as the backing > * store for both the depth and stencil attachment points. > * Defaults to true. > -- > 2.1.0 > > _______________________________________________ > Piglit mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/piglit
Series is: Reviewed-by: Anuj Phogat <[email protected]> _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
