[Piglit] [PATCH 1/5] util: Add support for multisample array textures to the FBO framework
Ian Romanick
idr at freedesktop.org
Tue Sep 22 08:44:33 PDT 2015
Anuj,
Were you able to run the modified test on an NVIDIA system? Did it
pass? I don't know if you noticed my plea for help in the commit
message of patch 5. :)
On 09/21/2015 01:50 PM, Anuj Phogat wrote:
> On Mon, Sep 21, 2015 at 8:57 AM, Ian Romanick <idr at freedesktop.org> wrote:
>>
>> From: Ian Romanick <ian.d.romanick at intel.com>
>>
>> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
>> ---
>> 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
>> Piglit at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/piglit
>
>
> Series is: Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
>
More information about the Piglit
mailing list