[Mesa-dev] [PATCH] mesa: set clamp bit in glGetTexImage for GL_UNSIGNED_NORMALIZED
Anuj Phogat
anuj.phogat at gmail.com
Thu Jan 26 15:30:55 PST 2012
On Thu, Jan 26, 2012 at 2:56 PM, Brian Paul <brian.e.paul at gmail.com> wrote:
> On Thu, Jan 26, 2012 at 4:55 PM, Ian Romanick <idr at freedesktop.org> wrote:
> > On 01/26/2012 06:40 AM, Brian Paul wrote:
> >>
> >> On Tue, Jan 24, 2012 at 10:58 PM, Anuj Phogat<anuj.phogat at gmail.com>
> >> wrote:
> >>>
> >>> Color clamping should be enabled in glGetTexImage if texture dataType
> is
> >>> GL_UNSIGNED_NORMALIZED and format is GL_LUMINANCE or GL_LUMINANCE_ALPHA
> >>>
> >>> Fixes 2 Intel oglconform test cases: pxconv-gettex and pxtrans-gettex
> >>> https://bugs.freedesktop.org/show_bug.cgi?id=40864
> >>>
> >>> NOTE: This is a candidate for the 8.0 branch
> >>>
> >>> Signed-off-by: Anuj Phogat<anuj.phogat at gmail.com>
> >>> ---
> >>> src/mesa/main/texgetimage.c | 7 ++++++-
> >>> 1 files changed, 6 insertions(+), 1 deletions(-)
> >>>
> >>> diff --git a/src/mesa/main/texgetimage.c b/src/mesa/main/texgetimage.c
> >>> index 8c85c1e..f89b868 100644
> >>> --- a/src/mesa/main/texgetimage.c
> >>> +++ b/src/mesa/main/texgetimage.c
> >>> @@ -415,7 +415,12 @@ get_tex_rgba(struct gl_context *ctx, GLuint
> >>> dimensions,
> >>> transferOps |= IMAGE_CLAMP_BIT;
> >>> }
> >>> }
> >>> -
> >>> + else if ((format == GL_LUMINANCE ||
> >>> + format == GL_LUMINANCE_ALPHA)&&
> >>> + dataType == GL_UNSIGNED_NORMALIZED) {
> >>> + transferOps |= IMAGE_CLAMP_BIT;
> >>> + }
> >>> +
> >>> if (_mesa_is_format_compressed(texImage->TexFormat)) {
> >>> get_tex_rgba_compressed(ctx, dimensions, format, type,
> >>> pixels, texImage, transferOps);
> >>> --
> >>
> >>
> >> This looks OK. However, we need to add more comments here. I had to
> >> do some digging to recall why luminance and lum/alpha are special.
> >> The reason is if the source image is RGB, the returned luminance is
> >> R+G+B and we need to clamp the sum to [0,1].
> >
> >
> > When Anuj and I discussed this patch, I had another concern, but I'm not
> > sure it matters. If dataType is GL_SIGNED_NORMALIZED, it seems like the
> > value should clamp to [-1,1]. We don't currently have a way to do that.
> > Does that seem right to you?
>
> I would expect so too. I'll put it on my to-do list, but it might be a
> while.
I can add clamp [-1, 1] . I'll send out a separate patch for that.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20120126/b621c310/attachment-0001.htm>
More information about the mesa-dev
mailing list