diff options
author | Kenneth Graunke <[email protected]> | 2016-07-18 16:02:02 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2016-07-30 12:06:37 -0700 |
commit | b5661c1d70f9ffaea3c1c14c4bc3f20f7fd4530c (patch) | |
tree | cf460993ebb9a0d0f63708011b0f3c4c511dd373 /src/intel/vulkan/genX_pipeline_util.h | |
parent | 99a47391e430d27fb745450e450bf180ec48c8a6 (diff) |
anv: Perform rasterizer discard in the SOL stage instead of the clipper.
See commit b0629e6894513a2c49a018bc3342a4e55435a236, where we discovered
that the SOL stage's "Rendering Disable" feature is a lot faster at
throwing away all geometry than the clipper's "reject all" mode.
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src/intel/vulkan/genX_pipeline_util.h')
-rw-r--r-- | src/intel/vulkan/genX_pipeline_util.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/intel/vulkan/genX_pipeline_util.h b/src/intel/vulkan/genX_pipeline_util.h index 516fc49acd1..c134d5da5a7 100644 --- a/src/intel/vulkan/genX_pipeline_util.h +++ b/src/intel/vulkan/genX_pipeline_util.h @@ -666,8 +666,7 @@ emit_3dstate_clip(struct anv_pipeline *pipeline, clip.APIMode = APIMODE_D3D, clip.ViewportXYClipTestEnable = true; - clip.ClipMode = rs_info->rasterizerDiscardEnable ? - CLIPMODE_REJECT_ALL : CLIPMODE_NORMAL; + clip.ClipMode = CLIPMODE_NORMAL; clip.TriangleStripListProvokingVertexSelect = 0; clip.LineStripListProvokingVertexSelect = 0; @@ -687,3 +686,12 @@ emit_3dstate_clip(struct anv_pipeline *pipeline, #endif } } + +static void +emit_3dstate_streamout(struct anv_pipeline *pipeline, + const VkPipelineRasterizationStateCreateInfo *rs_info) +{ + anv_batch_emit(&pipeline->batch, GENX(3DSTATE_STREAMOUT), so) { + so.RenderingDisable = rs_info->rasterizerDiscardEnable; + } +} |