[Piglit] [PATCH] arb_fbo: Test glBlitFramebuffer on depth textures with nonzero miplevels
Paul Berry
stereotype441 at gmail.com
Wed Aug 15 16:52:16 PDT 2012
On 15 August 2012 16:47, Chad Versace <chad.versace at linux.intel.com> wrote:
> On 08/15/2012 02:17 PM, Paul Berry wrote:
> > On 15 August 2012 12:51, Chad Versace <chad.versace at linux.intel.com
> > <mailto:chad.versace at linux.intel.com>> wrote:
> >
> > Extend the framebuffer-blit-levels test to verify that
> > glBlitFramebuffer works when blitting to and from miplevels other
> than
> > zero for depth textures.
> >
> > CC: Paul Berry <stereotype441 at gmail.com <mailto:
> stereotype441 at gmail.com>>
> > ---
> > .../framebuffer-blit-levels.c | 125
> ++++++++++++++++-----
> > 1 file changed, 94 insertions(+), 31 deletions(-)
> >
> > diff --git
> a/tests/spec/arb_framebuffer_object/framebuffer-blit-levels.c
> > b/tests/spec/arb_framebuffer_object/framebuffer-blit-levels.c
> > index 31e0cf2..65bc497 100644
> > --- a/tests/spec/arb_framebuffer_object/framebuffer-blit-levels.c
> > +++ b/tests/spec/arb_framebuffer_object/framebuffer-blit-levels.c
> > @@ -70,6 +70,14 @@ GLuint aux_framebuffer;
> > GLuint test_texture;
> > GLuint aux_texture;
> >
> > +GLenum texture_internal_format;
> > +GLenum texture_format;
> > +GLenum texture_type;
> >
> >
> > Is texture_type really necessary? It looks like we always use GL_FLOAT.
> >
> > By the same token, it looks like we always use the same values for
> > texture_internal_format and texture_format.
> >
> > I won't push you on the subject, though, because I realize that this
> change
> > makes the code more self-explanatory :)
>
> You're right. These variables aren't strictly necessary. But, if we ever
> extend
> the test for more formats, such as for GL_STENCIL_INDEX/GL_BYTE, then these
> variables will become useful.
>
Good point. BTW, I have started investigating what it will take to fix
this test on Mesa/i965, and it looks like the code is going to have sharp
corners for stencil buffers. So extending the test for
GL_STENCIL_INDEX/GL_BYTE is definitely worth doing. In fact, I'll probably
do it in the next few days if you don't.
>
> > +/**
> > + * Generate a block of test data where each pixel has a unique
> depth value in
> > + * the range [0.0, 1.0).
> > + */
> > +static void
> > +create_test_data_depth(GLfloat *data, unsigned level,
> > + unsigned width, unsigned height)
> > +{
> > + unsigned pixel;
> > + unsigned num_pixels = width * height;
> > + double depth_delta = 0.95 / ((SIZE >> level) * (SIZE >>
> level));
> >
> >
> > Consider changing this to the equivalent "double depth_delta = 0.95 /
> (width *
> > height);" just so that it's clearer how we know it won't overflow.
>
> Will do.
>
> > static void
> > print_usage_and_exit(char *prog_name)
> > {
> > printf("Usage: %s <test_mode>\n"
> > " where <test_mode> is one of:\n"
> > " draw: test blitting *to* the given texture
> type\n"
> > - " read: test blitting *from* the given texture
> type\n",
> > + " read: test blitting *from* the given texture
> type\n"
> > + " where <format> is one of:\n"
> > + " rgba\n"
> > + " depth\n",
> > prog_name);
> > piglit_report_result(PIGLIT_FAIL);
> > }
> >
> >
> > all.tests needs to be updated to send in the new command-line parameter.
>
> Oops. Will do.
>
> > My comment about all.tests is the only crucial one. With that fixed,
> this patch is:
> >
> > Reviewed-by: Paul Berry <stereotype441 at gmail.com <mailto:
> stereotype441 at gmail.com>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20120815/79eaf6b7/attachment.html>
More information about the Piglit
mailing list