| /* |
| * Copyright 2015, The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| * THIS FILE WAS GENERATED BY apic. DO NOT EDIT. |
| */ |
| |
| |
| #include "vulkan_types.h" |
| #include "vulkan_spy.h" |
| #include "vulkan_exports.h" |
| #include "spy.h" |
| |
| #include <gapic/get_vulkan_proc_address.h> |
| #include <gapic/lock.h> |
| #include <gapic/log.h> |
| #include <gapic/target.h> // STDCALL |
| |
| #include <memory> |
| |
| #include <cstring> |
| |
| using namespace gapii; |
| |
| namespace gapii { |
| VKAPI_ATTR uint32_t VKAPI_CALL vkBeginCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferBeginInfo* pBeginInfo) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkBeginCommandBuffer(%zu, %p)", commandBuffer, pBeginInfo); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return 0; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkBeginCommandBuffer"); |
| auto _result_ = s->vkBeginCommandBuffer(&observer, commandBuffer, pBeginInfo); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| return _result_; |
| } |
| VKAPI_ATTR uint32_t VKAPI_CALL vkEndCommandBuffer(VkCommandBuffer commandBuffer) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkEndCommandBuffer(%zu)", commandBuffer); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return 0; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkEndCommandBuffer"); |
| auto _result_ = s->vkEndCommandBuffer(&observer, commandBuffer); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| return _result_; |
| } |
| VKAPI_ATTR uint32_t VKAPI_CALL vkResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkResetCommandBuffer(%zu, %" PRIu32 ")", commandBuffer, flags); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return 0; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkResetCommandBuffer"); |
| auto _result_ = s->vkResetCommandBuffer(&observer, commandBuffer, flags); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| return _result_; |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(VkCommandBuffer commandBuffer, uint32_t pipelineBindPoint, VkPipeline pipeline) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdBindPipeline(%zu, %u, %" PRIu64 ")", commandBuffer, pipelineBindPoint, pipeline); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdBindPipeline"); |
| s->vkCmdBindPipeline(&observer, commandBuffer, pipelineBindPoint, pipeline); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, VkViewport* pViewports) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdSetViewport(%zu, %" PRIu32 ", %" PRIu32 ", %p)", commandBuffer, firstViewport, viewportCount, pViewports); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdSetViewport"); |
| s->vkCmdSetViewport(&observer, commandBuffer, firstViewport, viewportCount, pViewports); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, VkRect2D* pScissors) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdSetScissor(%zu, %" PRIu32 ", %" PRIu32 ", %p)", commandBuffer, firstScissor, scissorCount, pScissors); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdSetScissor"); |
| s->vkCmdSetScissor(&observer, commandBuffer, firstScissor, scissorCount, pScissors); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdSetLineWidth(%zu, %f)", commandBuffer, lineWidth); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdSetLineWidth"); |
| s->vkCmdSetLineWidth(&observer, commandBuffer, lineWidth); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdSetDepthBias(%zu, %f, %f, %f)", commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdSetDepthBias"); |
| s->vkCmdSetDepthBias(&observer, commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(VkCommandBuffer commandBuffer, float blendConstants[4]) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdSetBlendConstants(%zu, %s)", commandBuffer, "<static-array>"); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdSetBlendConstants"); |
| s->vkCmdSetBlendConstants(&observer, commandBuffer, blendConstants); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdSetDepthBounds(%zu, %f, %f)", commandBuffer, minDepthBounds, maxDepthBounds); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdSetDepthBounds"); |
| s->vkCmdSetDepthBounds(&observer, commandBuffer, minDepthBounds, maxDepthBounds); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdSetStencilCompareMask(%zu, %" PRIu32 ", %" PRIu32 ")", commandBuffer, faceMask, compareMask); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdSetStencilCompareMask"); |
| s->vkCmdSetStencilCompareMask(&observer, commandBuffer, faceMask, compareMask); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdSetStencilWriteMask(%zu, %" PRIu32 ", %" PRIu32 ")", commandBuffer, faceMask, writeMask); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdSetStencilWriteMask"); |
| s->vkCmdSetStencilWriteMask(&observer, commandBuffer, faceMask, writeMask); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdSetStencilReference(%zu, %" PRIu32 ", %" PRIu32 ")", commandBuffer, faceMask, reference); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdSetStencilReference"); |
| s->vkCmdSetStencilReference(&observer, commandBuffer, faceMask, reference); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(VkCommandBuffer commandBuffer, uint32_t pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, uint32_t* pDynamicOffsets) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdBindDescriptorSets(%zu, %u, %" PRIu64 ", %" PRIu32 ", %" PRIu32 ", %p, %" PRIu32 ", %p)", commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdBindDescriptorSets"); |
| s->vkCmdBindDescriptorSets(&observer, commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t indexType) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdBindIndexBuffer(%zu, %" PRIu64 ", %" PRIu64 ", %u)", commandBuffer, buffer, offset, indexType); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdBindIndexBuffer"); |
| s->vkCmdBindIndexBuffer(&observer, commandBuffer, buffer, offset, indexType); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, VkBuffer* pBuffers, VkDeviceSize* pOffsets) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdBindVertexBuffers(%zu, %" PRIu32 ", %" PRIu32 ", %p, %p)", commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdBindVertexBuffers"); |
| s->vkCmdBindVertexBuffers(&observer, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdDraw(%zu, %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ")", commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdDraw"); |
| s->vkCmdDraw(&observer, commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdDrawIndexed(%zu, %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRId32 ", %" PRIu32 ")", commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdDrawIndexed"); |
| s->vkCmdDrawIndexed(&observer, commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdDrawIndirect(%zu, %" PRIu64 ", %" PRIu64 ", %" PRIu32 ", %" PRIu32 ")", commandBuffer, buffer, offset, drawCount, stride); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdDrawIndirect"); |
| s->vkCmdDrawIndirect(&observer, commandBuffer, buffer, offset, drawCount, stride); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdDrawIndexedIndirect(%zu, %" PRIu64 ", %" PRIu64 ", %" PRIu32 ", %" PRIu32 ")", commandBuffer, buffer, offset, drawCount, stride); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdDrawIndexedIndirect"); |
| s->vkCmdDrawIndexedIndirect(&observer, commandBuffer, buffer, offset, drawCount, stride); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(VkCommandBuffer commandBuffer, uint32_t x, uint32_t y, uint32_t z) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdDispatch(%zu, %" PRIu32 ", %" PRIu32 ", %" PRIu32 ")", commandBuffer, x, y, z); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdDispatch"); |
| s->vkCmdDispatch(&observer, commandBuffer, x, y, z); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdDispatchIndirect(%zu, %" PRIu64 ", %" PRIu64 ")", commandBuffer, buffer, offset); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdDispatchIndirect"); |
| s->vkCmdDispatchIndirect(&observer, commandBuffer, buffer, offset); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, VkBufferCopy* pRegions) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdCopyBuffer(%zu, %" PRIu64 ", %" PRIu64 ", %" PRIu32 ", %p)", commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdCopyBuffer"); |
| s->vkCmdCopyBuffer(&observer, commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, uint32_t srcImageLayout, VkImage dstImage, uint32_t dstImageLayout, uint32_t regionCount, VkImageCopy* pRegions) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdCopyImage(%zu, %" PRIu64 ", %u, %" PRIu64 ", %u, %" PRIu32 ", %p)", commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdCopyImage"); |
| s->vkCmdCopyImage(&observer, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, uint32_t srcImageLayout, VkImage dstImage, uint32_t dstImageLayout, uint32_t regionCount, VkImageBlit* pRegions, uint32_t filter) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdBlitImage(%zu, %" PRIu64 ", %u, %" PRIu64 ", %u, %" PRIu32 ", %p, %u)", commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdBlitImage"); |
| s->vkCmdBlitImage(&observer, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, uint32_t dstImageLayout, uint32_t regionCount, VkBufferImageCopy* pRegions) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdCopyBufferToImage(%zu, %" PRIu64 ", %" PRIu64 ", %u, %" PRIu32 ", %p)", commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdCopyBufferToImage"); |
| s->vkCmdCopyBufferToImage(&observer, commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, uint32_t srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, VkBufferImageCopy* pRegions) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdCopyImageToBuffer(%zu, %" PRIu64 ", %u, %" PRIu64 ", %" PRIu32 ", %p)", commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdCopyImageToBuffer"); |
| s->vkCmdCopyImageToBuffer(&observer, commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, void* pData) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdUpdateBuffer(%zu, %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %p)", commandBuffer, dstBuffer, dstOffset, dataSize, pData); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdUpdateBuffer"); |
| s->vkCmdUpdateBuffer(&observer, commandBuffer, dstBuffer, dstOffset, dataSize, pData); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdFillBuffer(%zu, %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu32 ")", commandBuffer, dstBuffer, dstOffset, size, data); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdFillBuffer"); |
| s->vkCmdFillBuffer(&observer, commandBuffer, dstBuffer, dstOffset, size, data); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, uint32_t imageLayout, VkClearColorValue* pColor, uint32_t rangeCount, VkImageSubresourceRange* pRanges) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdClearColorImage(%zu, %" PRIu64 ", %u, %p, %" PRIu32 ", %p)", commandBuffer, image, imageLayout, pColor, rangeCount, pRanges); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdClearColorImage"); |
| s->vkCmdClearColorImage(&observer, commandBuffer, image, imageLayout, pColor, rangeCount, pRanges); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, uint32_t imageLayout, VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, VkImageSubresourceRange* pRanges) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdClearDepthStencilImage(%zu, %" PRIu64 ", %u, %p, %" PRIu32 ", %p)", commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdClearDepthStencilImage"); |
| s->vkCmdClearDepthStencilImage(&observer, commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, VkClearAttachment* pAttachments, uint32_t rectCount, VkClearRect* pRects) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdClearAttachments(%zu, %" PRIu32 ", %p, %" PRIu32 ", %p)", commandBuffer, attachmentCount, pAttachments, rectCount, pRects); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdClearAttachments"); |
| s->vkCmdClearAttachments(&observer, commandBuffer, attachmentCount, pAttachments, rectCount, pRects); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, uint32_t srcImageLayout, VkImage dstImage, uint32_t dstImageLayout, uint32_t regionCount, VkImageResolve* pRegions) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdResolveImage(%zu, %" PRIu64 ", %u, %" PRIu64 ", %u, %" PRIu32 ", %p)", commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdResolveImage"); |
| s->vkCmdResolveImage(&observer, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdSetEvent(%zu, %" PRIu64 ", %" PRIu32 ")", commandBuffer, event, stageMask); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdSetEvent"); |
| s->vkCmdSetEvent(&observer, commandBuffer, event, stageMask); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdResetEvent(%zu, %" PRIu64 ", %" PRIu32 ")", commandBuffer, event, stageMask); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdResetEvent"); |
| s->vkCmdResetEvent(&observer, commandBuffer, event, stageMask); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(VkCommandBuffer commandBuffer, uint32_t eventCount, VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, VkImageMemoryBarrier* pImageMemoryBarriers) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdWaitEvents(%zu, %" PRIu32 ", %p, %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %p, %" PRIu32 ", %p, %" PRIu32 ", %p)", commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdWaitEvents"); |
| s->vkCmdWaitEvents(&observer, commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, VkImageMemoryBarrier* pImageMemoryBarriers) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdPipelineBarrier(%zu, %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %p, %" PRIu32 ", %p, %" PRIu32 ", %p)", commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdPipelineBarrier"); |
| s->vkCmdPipelineBarrier(&observer, commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdBeginQuery(%zu, %" PRIu64 ", %" PRIu32 ", %" PRIu32 ")", commandBuffer, queryPool, query, flags); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdBeginQuery"); |
| s->vkCmdBeginQuery(&observer, commandBuffer, queryPool, query, flags); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdEndQuery(%zu, %" PRIu64 ", %" PRIu32 ")", commandBuffer, queryPool, query); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdEndQuery"); |
| s->vkCmdEndQuery(&observer, commandBuffer, queryPool, query); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdResetQueryPool(%zu, %" PRIu64 ", %" PRIu32 ", %" PRIu32 ")", commandBuffer, queryPool, firstQuery, queryCount); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdResetQueryPool"); |
| s->vkCmdResetQueryPool(&observer, commandBuffer, queryPool, firstQuery, queryCount); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(VkCommandBuffer commandBuffer, uint32_t pipelineStage, VkQueryPool queryPool, uint32_t query) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdWriteTimestamp(%zu, %u, %" PRIu64 ", %" PRIu32 ")", commandBuffer, pipelineStage, queryPool, query); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdWriteTimestamp"); |
| s->vkCmdWriteTimestamp(&observer, commandBuffer, pipelineStage, queryPool, query); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdCopyQueryPoolResults(%zu, %" PRIu64 ", %" PRIu32 ", %" PRIu32 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu32 ")", commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdCopyQueryPoolResults"); |
| s->vkCmdCopyQueryPoolResults(&observer, commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, void* pValues) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdPushConstants(%zu, %" PRIu64 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %p)", commandBuffer, layout, stageFlags, offset, size, pValues); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdPushConstants"); |
| s->vkCmdPushConstants(&observer, commandBuffer, layout, stageFlags, offset, size, pValues); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(VkCommandBuffer commandBuffer, VkRenderPassBeginInfo* pRenderPassBegin, uint32_t contents) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdBeginRenderPass(%zu, %p, %u)", commandBuffer, pRenderPassBegin, contents); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdBeginRenderPass"); |
| s->vkCmdBeginRenderPass(&observer, commandBuffer, pRenderPassBegin, contents); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(VkCommandBuffer commandBuffer, uint32_t contents) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdNextSubpass(%zu, %u)", commandBuffer, contents); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdNextSubpass"); |
| s->vkCmdNextSubpass(&observer, commandBuffer, contents); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(VkCommandBuffer commandBuffer) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdEndRenderPass(%zu)", commandBuffer); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdEndRenderPass"); |
| s->vkCmdEndRenderPass(&observer, commandBuffer); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, VkCommandBuffer* pCommandBuffers) { |
| Spy* s = Spy::get(); |
| GAPID_DEBUG("vkCmdExecuteCommands(%zu, %" PRIu32 ", %p)", commandBuffer, commandBufferCount, pCommandBuffers); |
| if (!s->try_to_enter()) { |
| GAPID_FATAL("Unexpected re-entrant call to vulkan function"); |
| return ; |
| } |
| CallObserver observer(s); |
| s->lock(&observer, "vkCmdExecuteCommands"); |
| s->vkCmdExecuteCommands(&observer, commandBuffer, commandBufferCount, pCommandBuffers); |
| s->unlock(); |
| s->VulkanSpy::exit(); |
| } |
| } |