[Mesa-dev] [PATCH 0/5] i965 gen6: Fix interactions between transform feedback and meta-ops.

Paul Berry stereotype441 at gmail.com
Wed Dec 21 13:39:05 PST 2011


This patch series ensures that meta-ops (such as glClear or
glGenerateMipmapEXT) function properly when transform feedback or
rasterizer discard is enabled.

Most of the code changes necessary to make this work are in core mesa:
patches 1/5 and 5/5 ensure that meta ops properly pause transform
feedback and disable rasterizer discard (and restore the state
properly when the meta op is over).  Patch 2/5 ensures that
PauseTransformFeedback interacts properly with BeginTransformFeedback
and EndTransformFeedback (so that there is no danger of transform
feedback being in a paused state after a call to
BeginTransformFeedback).  Patch 3/5 ensures that that while transform
feedback is paused, it's possible to switch programs and do drawing
that isn't compatible with the transform feedback mode.

Patch 4/5 implements transform feedback pause/resume functionality in
the i965 driver.  We don't expose this functionality to the user yet,
but we need it for meta ops to work correctly.

[PATCH 1/5] mesa: Save and restore GL_RASTERIZER_DISCARD state during meta ops.
[PATCH 2/5] mesa: Ensure that Paused is reset to false on EndTransformFeedback.
[PATCH 3/5] mesa: Disable certain error checks when transform feedback is paused
[PATCH 4/5] i965 gen6: Implement transform feedback pause/resume functionality.
[PATCH 5/5] mesa: Pause transform feedback during meta ops.


More information about the mesa-dev mailing list