[Mesa-dev] SandyBridge issue likely related to fast color clears using meta operations

Jordan Justen jljusten at gmail.com
Wed Sep 3 15:00:21 PDT 2014


On 2014-09-03 10:41:02, Kenneth Graunke wrote:
> On Tuesday, September 02, 2014 06:16:01 PM Samuel Iglesias Gonsálvez wrote:
> > Hello,
> > 
> > Two weeks ago, Iago and myself sent a batch of patches that added
> > geometry shader support for SandyBridge [0].
> > 
> > Recently, we rebased our patches against master [1] and found
> > that some things are not working properly any more. Particularly, we
> > have plenty of cases where we only get a black screen when using a
> > geometry shader, and in these cases it seems as if some outputs of the
> > geometry shader got "lost" by the time they become inputs in the
> > fragment shader (some input varyings in the fragment shader that come
> > from the outputs of the geometry seem to be zeroed). The values we
> > output in the geometry shader are correct though, since they are
> > correctly captured by transform feedback.
> > 
> > A bisect shows that the commit that introduced this problem is
> > 2f28a0dc231 i965: Implement fast color clears using meta operations [2].
> > 
> > Reverting this commit fixes the problem for us. The revert also fixes
> > piglit's bin/gl-3.2-layered-rendering-clear-color* tests in SandyBridge
> > [3].
> > 
> > So the question is whether the commit mentioned above introduces a
> > regression that should be fixed somewhere or if our code needs to be
> > updated to adapt to changes introduced by that commit in some way.
> > 
> > Best regards,
> > 
> > Sam
> 
> Hi Sam,
> 
> Layered clears now use GL_AMD_vertex_shader_layered.  If you expose
> the extension, then gl-3.2-layered-rendering-clear-color starts
> passing again.  Otherwise, the vertex shader code to set gl_LayerID
> = gl_InstanceID is #ifdef'd out, so only layer 0 would get affected.
> 
> I'm not sure if we can expose that extension without GL 3.2, so you
> might just put the patch to enable it (simply editing
> intel_extensions.c) near the end of your series.  Perhaps Jordan
> will know if we can just turn it on now.

Yes, We should be able to enable GL_AMD_vertex_shader_layered for gen6
now. But, it really only makes sense to enable it at the same time as
enabling 3.2 so the glFramebufferTexture function is available.

Due to this meta quirk, it sounds like we should enable them both in
the same patch. (Or, perhaps the extension in the patch just before
3.2. ??)

-Jordan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: signature
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20140903/88d8530c/attachment-0001.sig>


More information about the mesa-dev mailing list