[Mesa-dev] [Bug 47375] Blender crash on startup after upgrade to mesa 8.0.1

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Jul 27 14:16:09 PDT 2012


https://bugs.freedesktop.org/show_bug.cgi?id=47375

--- Comment #43 from Brian Paul <brian.e.paul at gmail.com> 2012-07-27 14:16:09 PDT ---
(In reply to comment #40)
> I was actually wondering, do we really need the fallback when there's
> PixelTransfer state? Clearly this applies to DrawPixels, but doesn't this also
> apply to TexImage() calls hence mesa would just do that when we create the
> texture out of the pixel data to draw a quad?

Yes, that's correct.  Removing the _ImageTransferState test is correct.  I've
tested it for color and depth scale/bias.


> FWIW the _ImageTransferState fallback decision looks quite bogus in any case -
> this state includes for instance rgb_scale but not depth_scale, hence when
> drawing to a depth texture the fallback decision is probably not quite right
> (though I guess just skipping fallback would break drawing to stencil buffer,
> since this is set up as a alpha texture mesa would probably incorrectly apply
> rgb transfer ops there - but that's certainly solvable without having to resort
> to fallback).

If we'd save/restore the MESA_META_PIXEL_TRANSFER state for stencil draws, that
would fix that.  Nice catch.  I'll post a patch with these changes.


> Also fog fallback shouldn't apply to depth/stencil buffer drawing neither (but
> OTOH enabled texturing should cause a fallback for color buffer drawing, even
> though I'd guess if some app really does a drawpixels with enabled fog or
> texturing it is probably by mistake not intentionally...).

Actually, I believe fog would apply to a glDrawPixels(GL_DEPTH) since we
generate fragments with color + Z in that case and the colors would be
subjected to fog, just like glDrawPixels(GL_RGB).  But it's a pretty obscure
case and I'm not going to worry about it for now.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the mesa-dev mailing list