anv: enable timestamp for INTEL_MEASURE
authorMark Janes <markjanes@swizzler.org>
Tue, 30 Jun 2020 22:59:22 +0000 (15:59 -0700)
committerMark Janes <markjanes@swizzler.org>
Tue, 2 Feb 2021 01:24:57 +0000 (17:24 -0800)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7354>

src/intel/vulkan/anv_genX.h
src/intel/vulkan/genX_cmd_buffer.c

index e16be7a..9893727 100644 (file)
@@ -109,3 +109,7 @@ void genX(cmd_buffer_so_memcpy)(struct anv_cmd_buffer *cmd_buffer,
 
 void genX(blorp_exec)(struct blorp_batch *batch,
                       const struct blorp_params *params);
+
+void genX(cmd_emit_timestamp)(struct anv_batch *batch,
+                              struct anv_bo *bo,
+                              uint32_t offset);
index be4f0ec..02054a2 100644 (file)
@@ -6396,3 +6396,13 @@ VkResult genX(CmdSetPerformanceStreamMarkerINTEL)(
 
    return VK_SUCCESS;
 }
+
+void genX(cmd_emit_timestamp)(struct anv_batch *batch,
+                              struct anv_bo *bo,
+                              uint32_t offset) {
+   anv_batch_emit(batch, GENX(PIPE_CONTROL), pc) {
+      pc.CommandStreamerStallEnable = true;
+      pc.PostSyncOperation       = WriteTimestamp;
+      pc.Address = (struct anv_address) {bo, offset};
+   }
+}