Mesa (vulkan): anv/pipeline: More competent gen8 clipping

Jason Ekstrand jekstrand at kemper.freedesktop.org
Fri Mar 4 19:58:39 UTC 2016


Module: Mesa
Branch: vulkan
Commit: fcd8e571851c18a259fdc4ccb34f6ba23f3d29ea
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fcd8e571851c18a259fdc4ccb34f6ba23f3d29ea

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Mar  1 13:39:04 2016 -0800

anv/pipeline: More competent gen8 clipping

---

 src/intel/vulkan/gen8_pipeline.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/intel/vulkan/gen8_pipeline.c b/src/intel/vulkan/gen8_pipeline.c
index 52629a7..ecb8f6d 100644
--- a/src/intel/vulkan/gen8_pipeline.c
+++ b/src/intel/vulkan/gen8_pipeline.c
@@ -326,7 +326,21 @@ genX(graphics_pipeline_create)(
 
    anv_batch_emit(&pipeline->batch, GENX(3DSTATE_CLIP),
                   .ClipEnable = true,
+                  .EarlyCullEnable = true,
+                  .APIMode = 1, /* D3D */
                   .ViewportXYClipTestEnable = !(extra && extra->disable_viewport),
+
+                  .ClipMode =
+                     pCreateInfo->pRasterizationState->rasterizerDiscardEnable ?
+                     REJECT_ALL : NORMAL,
+
+                  .NonPerspectiveBarycentricEnable =
+                     (pipeline->wm_prog_data.barycentric_interp_modes & 0x38) != 0,
+
+                  .TriangleStripListProvokingVertexSelect = 0,
+                  .LineStripListProvokingVertexSelect = 0,
+                  .TriangleFanProvokingVertexSelect = 1,
+
                   .MinimumPointWidth = 0.125,
                   .MaximumPointWidth = 255.875,
                   .MaximumVPIndex = pCreateInfo->pViewportState->viewportCount - 1);




More information about the mesa-commit mailing list