bug 14876: Can timestamps be written inside a renderpass? (WIP)

Timestamps are written to a query pool.

https://cvs.khronos.org/bugzilla/show_bug.cgi?id=14876
diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp
index 2b6d55e..fec569f 100755
--- a/layers/draw_state.cpp
+++ b/layers/draw_state.cpp
@@ -3236,7 +3236,7 @@
                            startQuery, queryCount, destBuffer, destOffset, stride, flags);
 }
 
-VK_LAYER_EXPORT void VKAPI vkCmdWriteTimestamp(VkCmdBuffer cmdBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer destBuffer, VkDeviceSize destOffset)
+VK_LAYER_EXPORT void VKAPI vkCmdWriteTimestamp(VkCmdBuffer cmdBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t slot)
 {
     VkBool32 skipCall = VK_FALSE;
     layer_data* dev_data = get_my_data_ptr(get_dispatch_key(cmdBuffer), layer_data_map);
@@ -3250,7 +3250,7 @@
         }
     }
     if (VK_FALSE == skipCall)
-        dev_data->device_dispatch_table->CmdWriteTimestamp(cmdBuffer, pipelineStage, destBuffer, destOffset);
+        dev_data->device_dispatch_table->CmdWriteTimestamp(cmdBuffer, pipelineStage, queryPool, slot);
 }
 
 VK_LAYER_EXPORT VkResult VKAPI vkCreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, VkFramebuffer* pFramebuffer)
diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp
index d7c13d4..bdb5dad 100644
--- a/layers/param_checker.cpp
+++ b/layers/param_checker.cpp
@@ -6362,8 +6362,8 @@
 bool PostCmdWriteTimestamp(
     VkCmdBuffer cmdBuffer,
     VkPipelineStageFlagBits pipelineStage,
-    VkBuffer destBuffer,
-    VkDeviceSize destOffset)
+    VkQueryPool queryPool,
+    uint32_t slot)
 {
 
     ValidateEnumerator(pipelineStage);
@@ -6374,12 +6374,12 @@
 VK_LAYER_EXPORT void VKAPI vkCmdWriteTimestamp(
     VkCmdBuffer cmdBuffer,
     VkPipelineStageFlagBits pipelineStage,
-    VkBuffer destBuffer,
-    VkDeviceSize destOffset)
+    VkQueryPool queryPool,
+    uint32_t slot)
 {
-    get_dispatch_table(pc_device_table_map, cmdBuffer)->CmdWriteTimestamp(cmdBuffer, pipelineStage, destBuffer, destOffset);
+    get_dispatch_table(pc_device_table_map, cmdBuffer)->CmdWriteTimestamp(cmdBuffer, pipelineStage, queryPool, slot);
 
-    PostCmdWriteTimestamp(cmdBuffer, pipelineStage, destBuffer, destOffset);
+    PostCmdWriteTimestamp(cmdBuffer, pipelineStage, queryPool, slot);
 }
 
 bool PostCmdCopyQueryPoolResults(