[Mesa-dev] [PATCH] i965: Use 3DSTATE_CLIP's User Clip Distance Enable bitmask on Gen8+.

Matt Turner mattst88 at gmail.com
Tue Nov 22 21:27:29 UTC 2016


On 11/15, Kenneth Graunke wrote:
>Gen6-7.5 specify the user clip distance enable bitmask in 3DSTATE_CLIP.
>Gen8+ normally uses the new internal signalling mechanism to select the
>one specified in the last enabled shader stage (3DSTATE_VS, DS, or GS).
>
>This is a pretty good fit for Vulkan, or even newer GL, where the
>bitmask comes entirely from the shader.  But with glClipPlane(),
>this is dynamic state, and we have to listen to _NEW_TRASNFORM.
>
>Clip plane enables are the only reason the VS/DS/GS atoms need to
>listen to _NEW_TRANSFORM.  3DSTATE_CLIP already has to listen to it
>in order to support ARB_clip_control settings.
>
>Setting the "Use the 3DSTATE_CLIP bitmask" force enable bit allows
>us to drop _NEW_TRANSFORM from all the shader stage atoms, so we can
>re-emit them less often.
>
>Improves performance of OglBatch7 (version 6) by 2.70773% +/- 0.491257%
>(n = 38) at 1024x768 on Cherryview.
>
>Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
>---

Neat!

Reviewed-by: Matt Turner <mattst88 at gmail.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Digital signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20161122/ebdebe33/attachment.sig>


More information about the mesa-dev mailing list