diff options
-rw-r--r-- | src/intel/vulkan/genX_blorp_exec.c | 5 | ||||
-rw-r--r-- | src/intel/vulkan/genX_gpu_memcpy.c | 4 | ||||
-rw-r--r-- | src/intel/vulkan/genX_pipeline.c | 9 | ||||
-rw-r--r-- | src/intel/vulkan/genX_state.c | 3 |
4 files changed, 18 insertions, 3 deletions
diff --git a/src/intel/vulkan/genX_blorp_exec.c b/src/intel/vulkan/genX_blorp_exec.c index 86730e07def..6b46a1e10ad 100644 --- a/src/intel/vulkan/genX_blorp_exec.c +++ b/src/intel/vulkan/genX_blorp_exec.c @@ -173,6 +173,11 @@ genX(blorp_exec)(struct blorp_batch *batch, */ genX(cmd_buffer_enable_pma_fix)(cmd_buffer, false); + /* Disable VF statistics */ + blorp_emit(batch, GENX(3DSTATE_VF_STATISTICS), vf) { + vf.StatisticsEnable = false; + } + blorp_exec(batch, params); cmd_buffer->state.vb_dirty = ~0; diff --git a/src/intel/vulkan/genX_gpu_memcpy.c b/src/intel/vulkan/genX_gpu_memcpy.c index eb11c2f0874..3cbc7235cfc 100644 --- a/src/intel/vulkan/genX_gpu_memcpy.c +++ b/src/intel/vulkan/genX_gpu_memcpy.c @@ -218,6 +218,10 @@ genX(cmd_buffer_gpu_memcpy)(struct anv_cmd_buffer *cmd_buffer, } #endif + anv_batch_emit(&cmd_buffer->batch, GENX(3DSTATE_VF_STATISTICS), vf) { + vf.StatisticsEnable = false; + } + anv_batch_emit(&cmd_buffer->batch, GENX(3DPRIMITIVE), prim) { prim.VertexAccessType = SEQUENTIAL; prim.PrimitiveTopologyType = _3DPRIM_POINTLIST; diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c index 9d884a05d16..cfc7c06fa4c 100644 --- a/src/intel/vulkan/genX_pipeline.c +++ b/src/intel/vulkan/genX_pipeline.c @@ -1570,6 +1570,14 @@ emit_3dstate_vf_topology(struct anv_pipeline *pipeline) #endif static void +emit_3dstate_vf_statistics(struct anv_pipeline *pipeline) +{ + anv_batch_emit(&pipeline->batch, GENX(3DSTATE_VF_STATISTICS), vfs) { + vfs.StatisticsEnable = true; + } +} + +static void compute_kill_pixel(struct anv_pipeline *pipeline, const VkPipelineMultisampleStateCreateInfo *ms_info, const struct anv_subpass *subpass) @@ -1675,6 +1683,7 @@ genX(graphics_pipeline_create)( emit_3dstate_ps_extra(pipeline, subpass); emit_3dstate_vf_topology(pipeline); #endif + emit_3dstate_vf_statistics(pipeline); *pPipeline = anv_pipeline_to_handle(pipeline); diff --git a/src/intel/vulkan/genX_state.c b/src/intel/vulkan/genX_state.c index fd8f8ac9ce0..bf1217bbcdc 100644 --- a/src/intel/vulkan/genX_state.c +++ b/src/intel/vulkan/genX_state.c @@ -52,9 +52,6 @@ genX(init_device_state)(struct anv_device *device) ps.PipelineSelection = _3D; } - anv_batch_emit(&batch, GENX(3DSTATE_VF_STATISTICS), vfs) - vfs.StatisticsEnable = true; - anv_batch_emit(&batch, GENX(3DSTATE_AA_LINE_PARAMETERS), aa); anv_batch_emit(&batch, GENX(3DSTATE_DRAWING_RECTANGLE), rect) { |