summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/intel/vulkan/genX_blorp_exec.c5
-rw-r--r--src/intel/vulkan/genX_gpu_memcpy.c4
-rw-r--r--src/intel/vulkan/genX_pipeline.c9
-rw-r--r--src/intel/vulkan/genX_state.c3
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) {