On 27/06/16 12:33, Alejandro Piñeiro wrote:
> On 27/06/16 03:08, Grazvydas Ignotas wrote:
>> On Sat, Jun 25, 2016 at 4:54 PM, Alejandro Piñeiro <apinhe...@igalia.com> 
>> wrote:
>>> In theory they don't overdrawn. The test has a square formed by N
>>> non-overlapping triangles. With just one call to glDrawRangeElements,
>>> this always works. But if we split it in M subsets, so M calls to
>>> glDrawRangeElements with N/M triangles per call, with low resolutions
>>> and a high amount of triangles, some texels start to fail. And not
>>> always the same amount of texels (so as you mentioned, undefined
>>> territory). Although it is a guess, I assume that is cause for artifacts
>>> on the triangle borders when drawing with so low resolution.
>> Perhaps this is somehow related to this bug:
>> https://bugs.freedesktop.org/show_bug.cgi?id=96624
>> There a texture problem shows up after one of glDrawRangeElements
>> calls with a lot of primitives.
> Not sure if they are related. Note that the issue I mention gets fully
> solved with glTextureBarrier and additionally, it happens on haswell too.
>
> In any case, reading that bug gave me an idea. I have been toying with
> MESA_DEBUG=flush (that until your email I didn't know that exists).
> Looking at the code, it adds the equivalent to a glFlush after each
> drawing call. Using it gets the test (all 48 subtests) passing. So right
> now Im more biased to think that is an issue on glTextureBarrier.

Another hint towards being an issue on glTextureBarrier implementation:
if instead of using MESA_DEBUG=flush, I replace glTextureBarrier for
glFlush on the original test (so one full flush after all the square,
but not after each drawing call) all the subtests keep passing too.

BR
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to