summaryrefslogtreecommitdiffstats
path: root/src/intel
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2016-03-01 13:39:04 -0800
committerJason Ekstrand <[email protected]>2016-03-04 12:03:00 -0800
commitfcd8e571851c18a259fdc4ccb34f6ba23f3d29ea (patch)
tree47a616c0ade65abb8ccb664b9e6b0be8f698d0b3 /src/intel
parenta8afd296537a0e61fd12c817c3003309346a5e75 (diff)
anv/pipeline: More competent gen8 clipping
Diffstat (limited to 'src/intel')
-rw-r--r--src/intel/vulkan/gen8_pipeline.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/intel/vulkan/gen8_pipeline.c b/src/intel/vulkan/gen8_pipeline.c
index 52629a73342..ecb8f6d7b09 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);