[Mesa-dev] [PATCH 2/4] i965/tex_image: Reference the renderbuffer miptree in setTexBuffer2
Chad Versace
chadversary at chromium.org
Thu Nov 30 00:42:03 UTC 2017
On Tue 28 Nov 2017, Jason Ekstrand wrote:
>
>
> On Tue, Nov 21, 2017 at 3:05 PM, Chad Versace <[1]chadversary at chromium.org>
> wrote:
> > @@ -442,7 +443,6 @@ intelSetTexBuffer2(__DRIcontext *pDRICtx, GLint
> target,
> > struct gl_texture_object *texObj;
> > struct gl_texture_image *texImage;
> > mesa_format texFormat = MESA_FORMAT_NONE;
> > - struct intel_mipmap_tree *mt;
> > GLenum internal_format = 0;
> >
> > texObj = _mesa_get_current_tex_object(ctx, target);
> > @@ -464,31 +464,24 @@ intelSetTexBuffer2(__DRIcontext *pDRICtx, GLint
> target,
> > if (rb->mt->cpp == 4) {
> > if (texture_format == __DRI_TEXTURE_FORMAT_RGB) {
> > internal_format = GL_RGB;
> > - texFormat = MESA_FORMAT_B8G8R8X8_UNORM;
> > + texFormat = MESA_FORMAT_B8G8R8A8_UNORM;
>
> Why replace rgbx with rgba? I suspect the replace is due to the same
> reasons explained in intel_miptree_create_for_dri_image(). Whatever the
> reasons are, they're subtle and deserve a comment.
>
>
> I believe your fears go away if you re-order things and put 3 before 2. Why
> RGBA instead of RGBX? Because the underlying miptree of the renderbuffer is
> likely to have that format. That said, it's not actually guaranteed so making
> that change in this patch is a bit bogus. If we just make the change in 2
> instead, I believe all bogosity is gone.
If I conceptually place patch 3 before patch 2, I see the correctness of
everything. That makes this patch (patch 2)
Reviewed-by: Chad Versace <chadversary at chromium.org>
If choose to fidget the code a little in this patch due to my complaint,
my rb still stands.
More information about the mesa-dev
mailing list