blob: 6498b490d9cf7f199cf4885c172335b13734d61f [file] [log] [blame]
// Copyright (C) 2018 The Android Open Source Project
// Copyright (C) 2018 Google Inc.
//
// 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.
// Autogenerated module VkDecoderSnapshot
//
// (impl) generated by scripts/genvk.py -registry
// ../../../../../hardware/google/gfxstream/third_party/vulkan_docs/xml/vk.xml -registryGfxstream
// xml/vk_gfxstream.xml cereal -o ../../../../../hardware/google/gfxstream/host/vulkan/cereal
//
// Please do not modify directly;
// re-run mesa3d/src/gfxstream/codegen/generate-gfxstream-vulkan.sh,
// or directly from Python by defining:
// VULKAN_REGISTRY_XML_DIR : Directory containing vk.xml
// VULKAN_REGISTRY_SCRIPTS_DIR : Directory containing genvk.py
// CEREAL_OUTPUT_DIR: Where to put the generated sources.
//
// python3 $VULKAN_REGISTRY_SCRIPTS_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o
// $CEREAL_OUTPUT_DIR
//
#include "VkDecoderSnapshot.h"
#include <mutex>
#include "VkDecoderGlobalState.h"
#include "VkReconstruction.h"
#include "VulkanBoxedHandles.h"
#include "VulkanHandleMapping.h"
#include "gfxstream/ThreadAnnotations.h"
namespace gfxstream {
namespace vk {
class VkDecoderSnapshot::Impl {
public:
Impl() {}
void clear() {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
mReconstruction.clear();
}
void saveReplayBuffers(gfxstream::Stream* stream) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
mReconstruction.saveReplayBuffers(stream);
}
static void loadReplayBuffers(gfxstream::Stream* stream, std::vector<uint64_t>* outHandleBuffer,
std::vector<uint8_t>* outDecoderBuffer) {
VkReconstruction::loadReplayBuffers(stream, outHandleBuffer, outDecoderBuffer);
}
VkSnapshotApiCallHandle createApiCallInfo() {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
return mReconstruction.createApiCallInfo();
}
void destroyApiCallInfoIfUnused(VkSnapshotApiCallHandle apiCallHandle) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
return mReconstruction.destroyApiCallInfoIfUnused(apiCallHandle);
}
void addOrderedBoxedHandlesCreatedByCall(VkSnapshotApiCallHandle apiCallHandle,
VkObjectHandle* boxedHandles,
uint32_t boxedHandlesCount) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
return mReconstruction.addOrderedBoxedHandlesCreatedByCall(apiCallHandle, boxedHandles,
boxedHandlesCount);
}
#ifdef VK_VERSION_1_0
void vkCreateInstance(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, const VkInstanceCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkInstance* pInstance) {
if (!pInstance) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pInstance create
mReconstruction.addHandles((const uint64_t*)pInstance, 1);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pInstance, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pInstance, 1);
}
void vkDestroyInstance(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkInstance instance, const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// instance destroy
mReconstruction.removeHandles((const uint64_t*)(&instance), 1, true);
}
void vkEnumeratePhysicalDevices(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkInstance instance,
uint32_t* pPhysicalDeviceCount,
VkPhysicalDevice* pPhysicalDevices) {
if (!pPhysicalDevices) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pPhysicalDevices create
mReconstruction.addHandles((const uint64_t*)pPhysicalDevices, (*pPhysicalDeviceCount));
mReconstruction.addHandleDependency((const uint64_t*)pPhysicalDevices,
(*pPhysicalDeviceCount), (uint64_t)(uintptr_t)instance);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
if (pPhysicalDeviceCount) {
mReconstruction.forEachHandleAddApi((const uint64_t*)pPhysicalDevices,
(*pPhysicalDeviceCount), apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(
apiCallHandle, (const uint64_t*)pPhysicalDevices, (*pPhysicalDeviceCount));
}
}
void vkGetPhysicalDeviceFeatures(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceFeatures* pFeatures) {}
void vkGetPhysicalDeviceFormatProperties(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkPhysicalDevice physicalDevice, VkFormat format,
VkFormatProperties* pFormatProperties) {}
void vkGetPhysicalDeviceImageFormatProperties(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result,
VkPhysicalDevice physicalDevice, VkFormat format,
VkImageType type, VkImageTiling tiling,
VkImageUsageFlags usage, VkImageCreateFlags flags,
VkImageFormatProperties* pImageFormatProperties) {
}
void vkGetPhysicalDeviceProperties(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceProperties* pProperties) {}
void vkGetPhysicalDeviceQueueFamilyProperties(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties) {}
void vkGetPhysicalDeviceMemoryProperties(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceMemoryProperties* pMemoryProperties) {}
void vkGetInstanceProcAddr(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, PFN_vkVoidFunction input_result,
VkInstance instance, const char* pName) {}
void vkGetDeviceProcAddr(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
PFN_vkVoidFunction input_result, VkDevice device, const char* pName) {}
void vkCreateDevice(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkPhysicalDevice physicalDevice,
const VkDeviceCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkDevice* pDevice) {
if (!pDevice) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pDevice create
mReconstruction.addHandles((const uint64_t*)pDevice, 1);
mReconstruction.addHandleDependency((const uint64_t*)pDevice, 1,
(uint64_t)(uintptr_t)physicalDevice);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pDevice, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pDevice, 1);
}
void vkDestroyDevice(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// device destroy
mReconstruction.removeHandles((const uint64_t*)(&device), 1, true);
}
void vkEnumerateInstanceExtensionProperties(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result,
const char* pLayerName, uint32_t* pPropertyCount,
VkExtensionProperties* pProperties) {}
void vkEnumerateDeviceExtensionProperties(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result,
VkPhysicalDevice physicalDevice,
const char* pLayerName, uint32_t* pPropertyCount,
VkExtensionProperties* pProperties) {}
void vkEnumerateInstanceLayerProperties(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, uint32_t* pPropertyCount,
VkLayerProperties* pProperties) {}
void vkEnumerateDeviceLayerProperties(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkPhysicalDevice physicalDevice,
uint32_t* pPropertyCount,
VkLayerProperties* pProperties) {}
void vkGetDeviceQueue(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) {}
void vkQueueSubmit(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkQueue queue, uint32_t submitCount,
const VkSubmitInfo* pSubmits, VkFence fence) {}
void vkQueueWaitIdle(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkQueue queue) {}
void vkDeviceWaitIdle(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device) {}
void vkAllocateMemory(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkMemoryAllocateInfo* pAllocateInfo,
const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) {
if (!pMemory) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pMemory create
mReconstruction.addHandles((const uint64_t*)pMemory, 1);
mReconstruction.addHandleDependency((const uint64_t*)pMemory, 1,
(uint64_t)(uintptr_t)device);
const VkMemoryDedicatedAllocateInfo* dedicatedAllocateInfo =
vk_find_struct<VkMemoryDedicatedAllocateInfo>(pAllocateInfo);
if (dedicatedAllocateInfo) {
if (dedicatedAllocateInfo->image) {
mReconstruction.addHandleDependency(
(const uint64_t*)pMemory, 1,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkImage(
dedicatedAllocateInfo->image));
}
if (dedicatedAllocateInfo->buffer) {
mReconstruction.addHandleDependency(
(const uint64_t*)pMemory, 1,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkBuffer(
dedicatedAllocateInfo->buffer));
}
}
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pMemory, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pMemory, 1);
}
void vkFreeMemory(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// memory destroy
mReconstruction.removeHandles((const uint64_t*)(&memory), 1, true);
}
void vkMapMemory(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size,
VkMemoryMapFlags flags, void** ppData) {}
void vkUnmapMemory(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkDeviceMemory memory) {}
void vkFlushMappedMemoryRanges(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
uint32_t memoryRangeCount,
const VkMappedMemoryRange* pMemoryRanges) {}
void vkInvalidateMappedMemoryRanges(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
uint32_t memoryRangeCount,
const VkMappedMemoryRange* pMemoryRanges) {}
void vkGetDeviceMemoryCommitment(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkDeviceMemory memory,
VkDeviceSize* pCommittedMemoryInBytes) {}
void vkBindBufferMemory(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, VkBuffer buffer,
VkDeviceMemory memory, VkDeviceSize memoryOffset) {
// Note: special implementation
std::lock_guard<std::mutex> lock(mReconstructionMutex);
VkDecoderGlobalState* m_state = VkDecoderGlobalState::get();
uint64_t handle = m_state->newGlobalVkGenericHandle(Tag_VkBindMemory);
mReconstruction.addHandles((const uint64_t*)(&handle), 1);
mReconstruction.forEachHandleAddApi((const uint64_t*)(&handle), 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)(&handle), 1);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.addHandleDependency(
(const uint64_t*)(&handle), 1,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkDeviceMemory(memory));
mReconstruction.addHandleDependency(
(const uint64_t*)(&handle), 1,
(uint64_t)(uintptr_t)(unboxed_to_boxed_non_dispatchable_VkBuffer(buffer)));
}
void vkBindImageMemory(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, VkImage image,
VkDeviceMemory memory, VkDeviceSize memoryOffset) {
// Note: special implementation
std::lock_guard<std::mutex> lock(mReconstructionMutex);
VkDecoderGlobalState* m_state = VkDecoderGlobalState::get();
uint64_t handle = m_state->newGlobalVkGenericHandle(Tag_VkBindMemory);
mReconstruction.addHandles((const uint64_t*)(&handle), 1);
mReconstruction.forEachHandleAddApi((const uint64_t*)(&handle), 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)(&handle), 1);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.addHandleDependency(
(const uint64_t*)(&handle), 1,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkDeviceMemory(memory));
mReconstruction.addHandleDependency(
(const uint64_t*)(&handle), 1,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkImage(image));
}
void vkGetBufferMemoryRequirements(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkBuffer buffer,
VkMemoryRequirements* pMemoryRequirements) {}
void vkGetImageMemoryRequirements(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkImage image,
VkMemoryRequirements* pMemoryRequirements) {}
void vkGetImageSparseMemoryRequirements(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device, VkImage image,
uint32_t* pSparseMemoryRequirementCount,
VkSparseImageMemoryRequirements* pSparseMemoryRequirements) {}
void vkGetPhysicalDeviceSparseImageFormatProperties(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage,
VkImageTiling tiling, uint32_t* pPropertyCount,
VkSparseImageFormatProperties* pProperties) {}
void vkQueueBindSparse(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkQueue queue, uint32_t bindInfoCount,
const VkBindSparseInfo* pBindInfo, VkFence fence) {}
void vkCreateFence(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, const VkFenceCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkFence* pFence) {
if (!pFence) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pFence create
mReconstruction.addHandles((const uint64_t*)pFence, 1);
mReconstruction.addHandleDependency((const uint64_t*)pFence, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pFence, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pFence, 1);
}
void vkDestroyFence(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkFence fence, const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// fence destroy
mReconstruction.removeHandles((const uint64_t*)(&fence), 1, true);
}
void vkResetFences(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, uint32_t fenceCount,
const VkFence* pFences) {}
void vkGetFenceStatus(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, VkFence fence) {}
void vkWaitForFences(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, uint32_t fenceCount,
const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) {}
void vkCreateSemaphore(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkSemaphoreCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) {
if (!pSemaphore) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pSemaphore create
mReconstruction.addHandles((const uint64_t*)pSemaphore, 1);
mReconstruction.addHandleDependency((const uint64_t*)pSemaphore, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pSemaphore, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pSemaphore, 1);
}
void vkDestroySemaphore(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// semaphore destroy
mReconstruction.removeHandles((const uint64_t*)(&semaphore), 1, true);
}
void vkCreateEvent(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, const VkEventCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) {
if (!pEvent) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pEvent create
mReconstruction.addHandles((const uint64_t*)pEvent, 1);
mReconstruction.addHandleDependency((const uint64_t*)pEvent, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pEvent, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pEvent, 1);
}
void vkDestroyEvent(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkEvent event, const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// event destroy
mReconstruction.removeHandles((const uint64_t*)(&event), 1, true);
}
void vkGetEventStatus(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, VkEvent event) {}
void vkSetEvent(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkDevice device, VkEvent event) {}
void vkResetEvent(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkDevice device, VkEvent event) {}
void vkCreateQueryPool(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkQueryPoolCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) {
if (!pQueryPool) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pQueryPool create
mReconstruction.addHandles((const uint64_t*)pQueryPool, 1);
mReconstruction.addHandleDependency((const uint64_t*)pQueryPool, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pQueryPool, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pQueryPool, 1);
}
void vkDestroyQueryPool(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// queryPool destroy
mReconstruction.removeHandles((const uint64_t*)(&queryPool), 1, true);
}
void vkGetQueryPoolResults(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result, VkDevice device,
VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount,
size_t dataSize, void* pData, VkDeviceSize stride,
VkQueryResultFlags flags) {}
void vkCreateBuffer(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkBufferCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) {
if (!pBuffer) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pBuffer create
mReconstruction.addHandles((const uint64_t*)pBuffer, 1);
mReconstruction.addHandleDependency((const uint64_t*)pBuffer, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pBuffer, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pBuffer, 1);
}
void vkDestroyBuffer(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkBuffer buffer, const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// buffer destroy
mReconstruction.removeHandles((const uint64_t*)(&buffer), 1, true);
}
void vkCreateBufferView(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkBufferViewCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkBufferView* pView) {
if (!pView) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pView create
mReconstruction.addHandles((const uint64_t*)pView, 1);
mReconstruction.addHandleDependency((const uint64_t*)pView, 1, (uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pView, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pView, 1);
}
void vkDestroyBufferView(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkBufferView bufferView,
const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// bufferView destroy
mReconstruction.removeHandles((const uint64_t*)(&bufferView), 1, true);
}
void vkCreateImage(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, const VkImageCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkImage* pImage) {
if (!pImage) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pImage create
mReconstruction.addHandles((const uint64_t*)pImage, 1);
mReconstruction.addHandleDependency((const uint64_t*)pImage, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pImage, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pImage, 1);
}
void vkDestroyImage(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkImage image, const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// image destroy
mReconstruction.removeHandles((const uint64_t*)(&image), 1, true);
}
void vkGetImageSubresourceLayout(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkImage image,
const VkImageSubresource* pSubresource,
VkSubresourceLayout* pLayout) {}
void vkCreateImageView(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkImageViewCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkImageView* pView) {
if (!pView) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pView create
mReconstruction.addHandles((const uint64_t*)pView, 1);
mReconstruction.addHandleDependency((const uint64_t*)pView, 1, (uint64_t)(uintptr_t)device);
mReconstruction.addHandleDependency(
(const uint64_t*)pView, 1,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkImage(pCreateInfo->image));
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pView, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pView, 1);
}
void vkDestroyImageView(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkImageView imageView, const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// imageView destroy
mReconstruction.removeHandles((const uint64_t*)(&imageView), 1, true);
}
void vkCreateShaderModule(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkShaderModuleCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkShaderModule* pShaderModule) {
if (!pShaderModule) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pShaderModule create
mReconstruction.addHandles((const uint64_t*)pShaderModule, 1);
mReconstruction.addHandleDependency((const uint64_t*)pShaderModule, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pShaderModule, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pShaderModule, 1);
}
void vkDestroyShaderModule(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
VkShaderModule shaderModule,
const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// shaderModule destroy
mReconstruction.removeHandles((const uint64_t*)(&shaderModule), 1, false);
}
void vkCreatePipelineCache(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkPipelineCacheCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkPipelineCache* pPipelineCache) {
if (!pPipelineCache) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pPipelineCache create
mReconstruction.addHandles((const uint64_t*)pPipelineCache, 1);
mReconstruction.addHandleDependency((const uint64_t*)pPipelineCache, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pPipelineCache, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pPipelineCache, 1);
}
void vkDestroyPipelineCache(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
VkPipelineCache pipelineCache,
const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pipelineCache destroy
mReconstruction.removeHandles((const uint64_t*)(&pipelineCache), 1, true);
}
void vkGetPipelineCacheData(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result, VkDevice device,
VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) {}
void vkMergePipelineCaches(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result, VkDevice device,
VkPipelineCache dstCache, uint32_t srcCacheCount,
const VkPipelineCache* pSrcCaches) {}
void vkCreateGraphicsPipelines(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
VkPipelineCache pipelineCache, uint32_t createInfoCount,
const VkGraphicsPipelineCreateInfo* pCreateInfos,
const VkAllocationCallbacks* pAllocator,
VkPipeline* pPipelines) {
if (!pPipelines) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pPipelines create
mReconstruction.addHandles((const uint64_t*)pPipelines, createInfoCount);
mReconstruction.addHandleDependency((const uint64_t*)pPipelines, createInfoCount,
(uint64_t)(uintptr_t)device);
for (uint32_t i = 0; i < createInfoCount; ++i) {
for (uint32_t j = 0; j < pCreateInfos[i].stageCount; ++j) {
mReconstruction.addHandleDependency(
(const uint64_t*)(pPipelines + i), 1,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkShaderModule(
pCreateInfos[i].pStages[j].module));
}
mReconstruction.addHandleDependency(
(const uint64_t*)(pPipelines + i), 1,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkRenderPass(
pCreateInfos[i].renderPass));
}
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pPipelines, createInfoCount,
apiCallHandle, VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pPipelines,
createInfoCount);
}
void vkCreateComputePipelines(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
VkPipelineCache pipelineCache, uint32_t createInfoCount,
const VkComputePipelineCreateInfo* pCreateInfos,
const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) {
if (!pPipelines) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pPipelines create
mReconstruction.addHandles((const uint64_t*)pPipelines, createInfoCount);
mReconstruction.addHandleDependency((const uint64_t*)pPipelines, createInfoCount,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pPipelines, createInfoCount,
apiCallHandle, VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pPipelines,
createInfoCount);
}
void vkDestroyPipeline(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pipeline destroy
mReconstruction.removeHandles((const uint64_t*)(&pipeline), 1, true);
}
void vkCreatePipelineLayout(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkPipelineLayoutCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkPipelineLayout* pPipelineLayout) {
if (!pPipelineLayout) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pPipelineLayout create
mReconstruction.addHandles((const uint64_t*)pPipelineLayout, 1);
mReconstruction.addHandleDependency((const uint64_t*)pPipelineLayout, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pPipelineLayout, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pPipelineLayout, 1);
}
void vkDestroyPipelineLayout(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkPipelineLayout pipelineLayout,
const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pipelineLayout destroy
mReconstruction.removeHandles((const uint64_t*)(&pipelineLayout), 1, true);
}
void vkCreateSampler(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkSamplerCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) {
if (!pSampler) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pSampler create
mReconstruction.addHandles((const uint64_t*)pSampler, 1);
mReconstruction.addHandleDependency((const uint64_t*)pSampler, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pSampler, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pSampler, 1);
}
void vkDestroySampler(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkSampler sampler, const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// sampler destroy
mReconstruction.removeHandles((const uint64_t*)(&sampler), 1, true);
}
void vkCreateDescriptorSetLayout(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkDescriptorSetLayout* pSetLayout) {
if (!pSetLayout) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pSetLayout create
mReconstruction.addHandles((const uint64_t*)pSetLayout, 1);
mReconstruction.addHandleDependency((const uint64_t*)pSetLayout, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pSetLayout, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pSetLayout, 1);
}
void vkDestroyDescriptorSetLayout(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkDescriptorSetLayout descriptorSetLayout,
const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// descriptorSetLayout destroy
mReconstruction.removeHandles((const uint64_t*)(&descriptorSetLayout), 1, true);
}
void vkCreateDescriptorPool(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkDescriptorPoolCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkDescriptorPool* pDescriptorPool) {
if (!pDescriptorPool) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pDescriptorPool create
mReconstruction.addHandles((const uint64_t*)pDescriptorPool, 1);
mReconstruction.addHandleDependency((const uint64_t*)pDescriptorPool, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pDescriptorPool, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pDescriptorPool, 1);
}
void vkDestroyDescriptorPool(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkDescriptorPool descriptorPool,
const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// descriptorPool destroy
mReconstruction.removeHandles((const uint64_t*)(&descriptorPool), 1, true);
}
void vkResetDescriptorPool(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result, VkDevice device,
VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) {}
void vkAllocateDescriptorSets(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkDescriptorSetAllocateInfo* pAllocateInfo,
VkDescriptorSet* pDescriptorSets) {
if (!pDescriptorSets) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pDescriptorSets create
mReconstruction.addHandles((const uint64_t*)pDescriptorSets,
pAllocateInfo->descriptorSetCount);
mReconstruction.addHandleDependency((const uint64_t*)pDescriptorSets,
pAllocateInfo->descriptorSetCount,
(uint64_t)(uintptr_t)device);
mReconstruction.addHandleDependency(
(const uint64_t*)pDescriptorSets, pAllocateInfo->descriptorSetCount,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkDescriptorPool(
pAllocateInfo->descriptorPool));
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pDescriptorSets,
pAllocateInfo->descriptorSetCount, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pDescriptorSets,
pAllocateInfo->descriptorSetCount);
}
void vkFreeDescriptorSets(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result, VkDevice device,
VkDescriptorPool descriptorPool, uint32_t descriptorSetCount,
const VkDescriptorSet* pDescriptorSets) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pDescriptorSets destroy
mReconstruction.removeHandles((const uint64_t*)pDescriptorSets, descriptorSetCount, true);
}
void vkUpdateDescriptorSets(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
uint32_t descriptorWriteCount,
const VkWriteDescriptorSet* pDescriptorWrites,
uint32_t descriptorCopyCount,
const VkCopyDescriptorSet* pDescriptorCopies) {}
void vkCreateFramebuffer(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkFramebufferCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) {
if (!pFramebuffer) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pFramebuffer create
mReconstruction.addHandles((const uint64_t*)pFramebuffer, 1);
mReconstruction.addHandleDependency((const uint64_t*)pFramebuffer, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.addHandleDependency(
(const uint64_t*)pFramebuffer, 1,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkRenderPass(
pCreateInfo->renderPass));
if ((pCreateInfo->flags & VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT) == 0) {
for (uint32_t i = 0; i < pCreateInfo->attachmentCount; ++i) {
mReconstruction.addHandleDependency(
(const uint64_t*)pFramebuffer, 1,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkImageView(
pCreateInfo->pAttachments[i]));
}
}
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pFramebuffer, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pFramebuffer, 1);
}
void vkDestroyFramebuffer(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device, VkFramebuffer framebuffer,
const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// framebuffer destroy
mReconstruction.removeHandles((const uint64_t*)(&framebuffer), 1, true);
}
void vkCreateRenderPass(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkRenderPassCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) {
if (!pRenderPass) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pRenderPass create
mReconstruction.addHandles((const uint64_t*)pRenderPass, 1);
mReconstruction.addHandleDependency((const uint64_t*)pRenderPass, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pRenderPass, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pRenderPass, 1);
}
void vkDestroyRenderPass(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkRenderPass renderPass,
const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// renderPass destroy
mReconstruction.removeHandles((const uint64_t*)(&renderPass), 1, true);
}
void vkGetRenderAreaGranularity(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkRenderPass renderPass,
VkExtent2D* pGranularity) {}
void vkCreateCommandPool(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkCommandPoolCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) {
if (!pCommandPool) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pCommandPool create
mReconstruction.addHandles((const uint64_t*)pCommandPool, 1);
mReconstruction.addHandleDependency((const uint64_t*)pCommandPool, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pCommandPool, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pCommandPool, 1);
}
void vkDestroyCommandPool(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device, VkCommandPool commandPool,
const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// commandPool destroy
mReconstruction.removeHandles((const uint64_t*)(&commandPool), 1, true);
}
void vkResetCommandPool(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, VkCommandPool commandPool,
VkCommandPoolResetFlags flags) {
// Note: special implementation
std::lock_guard<std::mutex> lock(mReconstructionMutex);
mReconstruction.removeGrandChildren(
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkCommandPool(commandPool));
}
void vkAllocateCommandBuffers(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkCommandBufferAllocateInfo* pAllocateInfo,
VkCommandBuffer* pCommandBuffers) {
if (!pCommandBuffers) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pCommandBuffers create
mReconstruction.addHandles((const uint64_t*)pCommandBuffers,
pAllocateInfo->commandBufferCount);
mReconstruction.addHandleDependency(
(const uint64_t*)pCommandBuffers, pAllocateInfo->commandBufferCount,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkCommandPool(
pAllocateInfo->commandPool));
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pCommandBuffers,
pAllocateInfo->commandBufferCount, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pCommandBuffers,
pAllocateInfo->commandBufferCount);
}
void vkFreeCommandBuffers(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device, VkCommandPool commandPool,
uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pCommandBuffers destroy
mReconstruction.removeHandles((const uint64_t*)pCommandBuffers, commandBufferCount, true);
}
void vkBeginCommandBuffer(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result,
VkCommandBuffer commandBuffer,
const VkCommandBufferBeginInfo* pBeginInfo) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// commandBuffer modify
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
for (uint32_t i = 0; i < 1; ++i) {
// commandBuffer is already boxed, no need to box again
VkCommandBuffer boxed = VkCommandBuffer((&commandBuffer)[i]);
mReconstruction.forEachHandleAddModifyApi((const uint64_t*)(&boxed), 1, apiCallHandle);
}
}
void vkEndCommandBuffer(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkCommandBuffer commandBuffer) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// commandBuffer modify
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
for (uint32_t i = 0; i < 1; ++i) {
// commandBuffer is already boxed, no need to box again
VkCommandBuffer boxed = VkCommandBuffer((&commandBuffer)[i]);
mReconstruction.forEachHandleAddModifyApi((const uint64_t*)(&boxed), 1, apiCallHandle);
}
}
void vkResetCommandBuffer(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result,
VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) {
// Note: special implementation
std::lock_guard<std::mutex> lock(mReconstructionMutex);
mReconstruction.removeDescendantsOfHandle((uint64_t)(uintptr_t)commandBuffer);
}
void vkCmdBindPipeline(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint,
VkPipeline pipeline) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
mReconstruction.addApiCallDependencyOnVkObject(
apiCallHandle,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkPipeline(pipeline));
}
void vkCmdSetViewport(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t firstViewport,
uint32_t viewportCount, const VkViewport* pViewports) {}
void vkCmdSetScissor(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t firstScissor,
uint32_t scissorCount, const VkRect2D* pScissors) {}
void vkCmdSetLineWidth(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, float lineWidth) {}
void vkCmdSetDepthBias(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, float depthBiasConstantFactor,
float depthBiasClamp, float depthBiasSlopeFactor) {}
void vkCmdSetBlendConstants(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const float blendConstants[4]) {}
void vkCmdSetDepthBounds(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, float minDepthBounds,
float maxDepthBounds) {}
void vkCmdSetStencilCompareMask(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask,
uint32_t compareMask) {}
void vkCmdSetStencilWriteMask(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask,
uint32_t writeMask) {}
void vkCmdSetStencilReference(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask,
uint32_t reference) {}
void vkCmdBindDescriptorSets(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout,
uint32_t firstSet, uint32_t descriptorSetCount,
const VkDescriptorSet* pDescriptorSets,
uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets) {}
void vkCmdBindIndexBuffer(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) {}
void vkCmdBindVertexBuffers(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
uint32_t firstBinding, uint32_t bindingCount,
const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
for (uint32_t i = 0; i < bindingCount; ++i) {
mReconstruction.addApiCallDependencyOnVkObject(
apiCallHandle,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkBuffer(pBuffers[i]));
}
}
void vkCmdDraw(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount,
uint32_t firstVertex, uint32_t firstInstance) {}
void vkCmdDrawIndexed(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t indexCount,
uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset,
uint32_t firstInstance) {}
void vkCmdDrawIndirect(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset,
uint32_t drawCount, uint32_t stride) {}
void vkCmdDrawIndexedIndirect(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkBuffer buffer,
VkDeviceSize offset, uint32_t drawCount, uint32_t stride) {}
void vkCmdDispatch(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY,
uint32_t groupCountZ) {}
void vkCmdDispatchIndirect(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkBuffer buffer, VkDeviceSize offset) {}
void vkCmdCopyBuffer(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer,
uint32_t regionCount, const VkBufferCopy* pRegions) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
mReconstruction.addApiCallDependencyOnVkObject(
apiCallHandle,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkBuffer(srcBuffer));
mReconstruction.addApiCallDependencyOnVkObject(
apiCallHandle,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkBuffer(dstBuffer));
}
void vkCmdCopyImage(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkImage srcImage,
VkImageLayout srcImageLayout, VkImage dstImage,
VkImageLayout dstImageLayout, uint32_t regionCount,
const VkImageCopy* pRegions) {}
void vkCmdBlitImage(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkImage srcImage,
VkImageLayout srcImageLayout, VkImage dstImage,
VkImageLayout dstImageLayout, uint32_t regionCount,
const VkImageBlit* pRegions, VkFilter filter) {}
void vkCmdCopyBufferToImage(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout,
uint32_t regionCount, const VkBufferImageCopy* pRegions) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
mReconstruction.addApiCallDependencyOnVkObject(
apiCallHandle,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkBuffer(srcBuffer));
mReconstruction.addApiCallDependencyOnVkObject(
apiCallHandle,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkImage(dstImage));
}
void vkCmdCopyImageToBuffer(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer,
uint32_t regionCount, const VkBufferImageCopy* pRegions) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
mReconstruction.addApiCallDependencyOnVkObject(
apiCallHandle,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkImage(srcImage));
mReconstruction.addApiCallDependencyOnVkObject(
apiCallHandle,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkBuffer(dstBuffer));
}
void vkCmdUpdateBuffer(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkBuffer dstBuffer,
VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) {}
void vkCmdFillBuffer(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset,
VkDeviceSize size, uint32_t data) {}
void vkCmdClearColorImage(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkImage image, VkImageLayout imageLayout,
const VkClearColorValue* pColor, uint32_t rangeCount,
const VkImageSubresourceRange* pRanges) {}
void vkCmdClearDepthStencilImage(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkImage image,
VkImageLayout imageLayout,
const VkClearDepthStencilValue* pDepthStencil,
uint32_t rangeCount, const VkImageSubresourceRange* pRanges) {}
void vkCmdClearAttachments(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
uint32_t attachmentCount, const VkClearAttachment* pAttachments,
uint32_t rectCount, const VkClearRect* pRects) {}
void vkCmdResolveImage(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkImage srcImage,
VkImageLayout srcImageLayout, VkImage dstImage,
VkImageLayout dstImageLayout, uint32_t regionCount,
const VkImageResolve* pRegions) {}
void vkCmdSetEvent(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkEvent event,
VkPipelineStageFlags stageMask) {}
void vkCmdResetEvent(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkEvent event,
VkPipelineStageFlags stageMask) {}
void vkCmdWaitEvents(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents,
VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask,
uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers,
uint32_t bufferMemoryBarrierCount,
const VkBufferMemoryBarrier* pBufferMemoryBarriers,
uint32_t imageMemoryBarrierCount,
const VkImageMemoryBarrier* pImageMemoryBarriers) {}
void vkCmdPipelineBarrier(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask,
VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount,
const VkMemoryBarrier* pMemoryBarriers,
uint32_t bufferMemoryBarrierCount,
const VkBufferMemoryBarrier* pBufferMemoryBarriers,
uint32_t imageMemoryBarrierCount,
const VkImageMemoryBarrier* pImageMemoryBarriers) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
for (uint32_t i = 0; i < bufferMemoryBarrierCount; ++i) {
mReconstruction.addApiCallDependencyOnVkObject(
apiCallHandle, (uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkBuffer(
pBufferMemoryBarriers[i].buffer));
}
for (uint32_t i = 0; i < imageMemoryBarrierCount; ++i) {
mReconstruction.addApiCallDependencyOnVkObject(
apiCallHandle, (uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkImage(
pImageMemoryBarriers[i].image));
}
}
void vkCmdBeginQuery(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query,
VkQueryControlFlags flags) {}
void vkCmdEndQuery(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) {}
void vkCmdResetQueryPool(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkQueryPool queryPool,
uint32_t firstQuery, uint32_t queryCount) {}
void vkCmdWriteTimestamp(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage,
VkQueryPool queryPool, uint32_t query) {}
void vkCmdCopyQueryPoolResults(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkQueryPool queryPool,
uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer,
VkDeviceSize dstOffset, VkDeviceSize stride,
VkQueryResultFlags flags) {}
void vkCmdPushConstants(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkPipelineLayout layout,
VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size,
const void* pValues) {}
void vkCmdBeginRenderPass(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const VkRenderPassBeginInfo* pRenderPassBegin,
VkSubpassContents contents) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
mReconstruction.addApiCallDependencyOnVkObject(
apiCallHandle, (uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkFramebuffer(
pRenderPassBegin->framebuffer));
}
void vkCmdNextSubpass(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkSubpassContents contents) {}
void vkCmdEndRenderPass(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer) {}
void vkCmdExecuteCommands(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) {
}
#endif
#ifdef VK_VERSION_1_1
void vkEnumerateInstanceVersion(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, uint32_t* pApiVersion) {}
void vkBindBufferMemory2(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, uint32_t bindInfoCount,
const VkBindBufferMemoryInfo* pBindInfos) {}
void vkBindImageMemory2(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, uint32_t bindInfoCount,
const VkBindImageMemoryInfo* pBindInfos) {
// Note: special implementation
std::lock_guard<std::mutex> lock(mReconstructionMutex);
VkDecoderGlobalState* m_state = VkDecoderGlobalState::get();
uint64_t handle = m_state->newGlobalVkGenericHandle(Tag_VkBindMemory);
mReconstruction.addHandles((const uint64_t*)(&handle), 1);
mReconstruction.forEachHandleAddApi((const uint64_t*)(&handle), 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)(&handle), 1);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
for (uint32_t i = 0; i < bindInfoCount; ++i) {
mReconstruction.addHandleDependency(
(const uint64_t*)&handle, 1,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkDeviceMemory(
pBindInfos[i].memory));
mReconstruction.addHandleDependency(
(const uint64_t*)&handle, 1,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkImage(
pBindInfos[i].image));
}
}
void vkGetDeviceGroupPeerMemoryFeatures(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, uint32_t heapIndex,
uint32_t localDeviceIndex, uint32_t remoteDeviceIndex,
VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) {}
void vkCmdSetDeviceMask(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t deviceMask) {}
void vkCmdDispatchBase(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY,
uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY,
uint32_t groupCountZ) {}
void vkEnumeratePhysicalDeviceGroups(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkInstance instance, uint32_t* pPhysicalDeviceGroupCount,
VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties) {}
void vkGetImageMemoryRequirements2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo,
VkMemoryRequirements2* pMemoryRequirements) {}
void vkGetBufferMemoryRequirements2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device,
const VkBufferMemoryRequirementsInfo2* pInfo,
VkMemoryRequirements2* pMemoryRequirements) {}
void vkGetImageSparseMemoryRequirements2(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount,
VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) {}
void vkGetPhysicalDeviceFeatures2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceFeatures2* pFeatures) {}
void vkGetPhysicalDeviceProperties2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceProperties2* pProperties) {}
void vkGetPhysicalDeviceFormatProperties2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkPhysicalDevice physicalDevice, VkFormat format,
VkFormatProperties2* pFormatProperties) {}
void vkGetPhysicalDeviceImageFormatProperties2(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
VkImageFormatProperties2* pImageFormatProperties) {}
void vkGetPhysicalDeviceQueueFamilyProperties2(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties) {}
void vkGetPhysicalDeviceMemoryProperties2(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
VkPhysicalDeviceMemoryProperties2* pMemoryProperties) {}
void vkGetPhysicalDeviceSparseImageFormatProperties2(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount,
VkSparseImageFormatProperties2* pProperties) {}
void vkTrimCommandPool(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkCommandPool commandPool, VkCommandPoolTrimFlags flags) {}
void vkGetDeviceQueue2(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue) {}
void vkCreateSamplerYcbcrConversion(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSamplerYcbcrConversion* pYcbcrConversion) {
if (!pYcbcrConversion) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pYcbcrConversion create
mReconstruction.addHandles((const uint64_t*)pYcbcrConversion, 1);
mReconstruction.addHandleDependency((const uint64_t*)pYcbcrConversion, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pYcbcrConversion, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pYcbcrConversion,
1);
}
void vkDestroySamplerYcbcrConversion(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkSamplerYcbcrConversion ycbcrConversion,
const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// ycbcrConversion destroy
mReconstruction.removeHandles((const uint64_t*)(&ycbcrConversion), 1, true);
}
void vkCreateDescriptorUpdateTemplate(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) {
if (!pDescriptorUpdateTemplate) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pDescriptorUpdateTemplate create
mReconstruction.addHandles((const uint64_t*)pDescriptorUpdateTemplate, 1);
mReconstruction.addHandleDependency((const uint64_t*)pDescriptorUpdateTemplate, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pDescriptorUpdateTemplate, 1,
apiCallHandle, VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle,
(const uint64_t*)pDescriptorUpdateTemplate, 1);
}
void vkDestroyDescriptorUpdateTemplate(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device,
VkDescriptorUpdateTemplate descriptorUpdateTemplate,
const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// descriptorUpdateTemplate destroy
mReconstruction.removeHandles((const uint64_t*)(&descriptorUpdateTemplate), 1, true);
}
void vkUpdateDescriptorSetWithTemplate(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkDescriptorSet descriptorSet,
VkDescriptorUpdateTemplate descriptorUpdateTemplate,
const void* pData) {}
void vkGetPhysicalDeviceExternalBufferProperties(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
VkExternalBufferProperties* pExternalBufferProperties) {}
void vkGetPhysicalDeviceExternalFenceProperties(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
VkExternalFenceProperties* pExternalFenceProperties) {}
void vkGetPhysicalDeviceExternalSemaphoreProperties(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
VkExternalSemaphoreProperties* pExternalSemaphoreProperties) {}
void vkGetDescriptorSetLayoutSupport(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device,
const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
VkDescriptorSetLayoutSupport* pSupport) {}
#endif
#ifdef VK_VERSION_1_2
void vkCmdDrawIndirectCount(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer,
VkDeviceSize countBufferOffset, uint32_t maxDrawCount,
uint32_t stride) {}
void vkCmdDrawIndexedIndirectCount(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkBuffer buffer,
VkDeviceSize offset, VkBuffer countBuffer,
VkDeviceSize countBufferOffset, uint32_t maxDrawCount,
uint32_t stride) {}
void vkCreateRenderPass2(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkRenderPassCreateInfo2* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) {
if (!pRenderPass) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pRenderPass create
mReconstruction.addHandles((const uint64_t*)pRenderPass, 1);
mReconstruction.addHandleDependency((const uint64_t*)pRenderPass, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pRenderPass, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pRenderPass, 1);
}
void vkCmdBeginRenderPass2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const VkRenderPassBeginInfo* pRenderPassBegin,
const VkSubpassBeginInfo* pSubpassBeginInfo) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
mReconstruction.addApiCallDependencyOnVkObject(
apiCallHandle, (uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkFramebuffer(
pRenderPassBegin->framebuffer));
}
void vkCmdNextSubpass2(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkSubpassBeginInfo* pSubpassBeginInfo,
const VkSubpassEndInfo* pSubpassEndInfo) {}
void vkCmdEndRenderPass2(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkSubpassEndInfo* pSubpassEndInfo) {}
void vkResetQueryPool(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) {}
void vkGetSemaphoreCounterValue(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, VkSemaphore semaphore,
uint64_t* pValue) {}
void vkWaitSemaphores(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout) {}
void vkSignalSemaphore(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkSemaphoreSignalInfo* pSignalInfo) {}
void vkGetBufferDeviceAddress(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDeviceAddress input_result, VkDevice device,
const VkBufferDeviceAddressInfo* pInfo) {}
void vkGetBufferOpaqueCaptureAddress(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
uint64_t input_result, VkDevice device,
const VkBufferDeviceAddressInfo* pInfo) {}
void vkGetDeviceMemoryOpaqueCaptureAddress(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, uint64_t input_result,
VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo) {}
#endif
#ifdef VK_VERSION_1_3
void vkGetPhysicalDeviceToolProperties(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkPhysicalDevice physicalDevice,
uint32_t* pToolCount,
VkPhysicalDeviceToolProperties* pToolProperties) {}
void vkCreatePrivateDataSlot(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkPrivateDataSlotCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkPrivateDataSlot* pPrivateDataSlot) {
if (!pPrivateDataSlot) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pPrivateDataSlot create
mReconstruction.addHandles((const uint64_t*)pPrivateDataSlot, 1);
mReconstruction.addHandleDependency((const uint64_t*)pPrivateDataSlot, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pPrivateDataSlot, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pPrivateDataSlot,
1);
}
void vkDestroyPrivateDataSlot(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkPrivateDataSlot privateDataSlot,
const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// privateDataSlot destroy
mReconstruction.removeHandles((const uint64_t*)(&privateDataSlot), 1, true);
}
void vkSetPrivateData(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, VkObjectType objectType,
uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data) {
}
void vkGetPrivateData(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkObjectType objectType, uint64_t objectHandle,
VkPrivateDataSlot privateDataSlot, uint64_t* pData) {}
void vkCmdSetEvent2(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkEvent event,
const VkDependencyInfo* pDependencyInfo) {}
void vkCmdResetEvent2(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkEvent event,
VkPipelineStageFlags2 stageMask) {}
void vkCmdWaitEvents2(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t eventCount,
const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos) {}
void vkCmdPipelineBarrier2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const VkDependencyInfo* pDependencyInfo) {}
void vkCmdWriteTimestamp2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query) {}
void vkQueueSubmit2(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkQueue queue, uint32_t submitCount,
const VkSubmitInfo2* pSubmits, VkFence fence) {}
void vkCmdCopyBuffer2(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo) {
}
void vkCmdCopyImage2(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo) {}
void vkCmdCopyBufferToImage2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo) {}
void vkCmdCopyImageToBuffer2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo) {}
void vkCmdBlitImage2(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo) {}
void vkCmdResolveImage2(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkResolveImageInfo2* pResolveImageInfo) {}
void vkCmdBeginRendering(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo) {
}
void vkCmdEndRendering(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer) {}
void vkCmdSetCullMode(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) {}
void vkCmdSetFrontFace(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkFrontFace frontFace) {}
void vkCmdSetPrimitiveTopology(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkPrimitiveTopology primitiveTopology) {}
void vkCmdSetViewportWithCount(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t viewportCount,
const VkViewport* pViewports) {}
void vkCmdSetScissorWithCount(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t scissorCount,
const VkRect2D* pScissors) {}
void vkCmdBindVertexBuffers2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t firstBinding,
uint32_t bindingCount, const VkBuffer* pBuffers,
const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes,
const VkDeviceSize* pStrides) {}
void vkCmdSetDepthTestEnable(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) {}
void vkCmdSetDepthWriteEnable(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) {}
void vkCmdSetDepthCompareOp(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkCompareOp depthCompareOp) {}
void vkCmdSetDepthBoundsTestEnable(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkBool32 depthBoundsTestEnable) {}
void vkCmdSetStencilTestEnable(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) {}
void vkCmdSetStencilOp(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask,
VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp,
VkCompareOp compareOp) {}
void vkCmdSetRasterizerDiscardEnable(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkBool32 rasterizerDiscardEnable) {}
void vkCmdSetDepthBiasEnable(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable) {}
void vkCmdSetPrimitiveRestartEnable(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkBool32 primitiveRestartEnable) {}
void vkGetDeviceBufferMemoryRequirements(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device,
const VkDeviceBufferMemoryRequirements* pInfo,
VkMemoryRequirements2* pMemoryRequirements) {}
void vkGetDeviceImageMemoryRequirements(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device,
const VkDeviceImageMemoryRequirements* pInfo,
VkMemoryRequirements2* pMemoryRequirements) {}
void vkGetDeviceImageSparseMemoryRequirements(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount,
VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) {}
#endif
#ifdef VK_VERSION_1_4
void vkCmdSetLineStipple(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t lineStippleFactor,
uint16_t lineStipplePattern) {}
void vkMapMemory2(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkDevice device, const VkMemoryMapInfo* pMemoryMapInfo, void** ppData) {}
void vkUnmapMemory2(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkMemoryUnmapInfo* pMemoryUnmapInfo) {}
void vkCmdBindIndexBuffer2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size,
VkIndexType indexType) {}
void vkGetRenderingAreaGranularity(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device,
const VkRenderingAreaInfo* pRenderingAreaInfo,
VkExtent2D* pGranularity) {}
void vkGetDeviceImageSubresourceLayout(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device,
const VkDeviceImageSubresourceInfo* pInfo,
VkSubresourceLayout2* pLayout) {}
void vkGetImageSubresourceLayout2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkImage image,
const VkImageSubresource2* pSubresource,
VkSubresourceLayout2* pLayout) {}
void vkCmdPushDescriptorSet(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout,
uint32_t set, uint32_t descriptorWriteCount,
const VkWriteDescriptorSet* pDescriptorWrites) {}
void vkCmdPushDescriptorSetWithTemplate(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkDescriptorUpdateTemplate descriptorUpdateTemplate,
VkPipelineLayout layout, uint32_t set,
const void* pData) {}
void vkCmdSetRenderingAttachmentLocations(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const VkRenderingAttachmentLocationInfo* pLocationInfo) {}
void vkCmdSetRenderingInputAttachmentIndices(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo) {}
void vkCmdBindDescriptorSets2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo) {}
void vkCmdPushConstants2(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkPushConstantsInfo* pPushConstantsInfo) {}
void vkCmdPushDescriptorSet2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkPushDescriptorSetInfo* pPushDescriptorSetInfo) {}
void vkCmdPushDescriptorSetWithTemplate2(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const VkPushDescriptorSetWithTemplateInfo* pPushDescriptorSetWithTemplateInfo) {}
void vkCopyMemoryToImage(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo) {}
void vkCopyImageToMemory(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo) {}
void vkCopyImageToImage(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkCopyImageToImageInfo* pCopyImageToImageInfo) {}
void vkTransitionImageLayout(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, uint32_t transitionCount,
const VkHostImageLayoutTransitionInfo* pTransitions) {}
#endif
#ifdef VK_KHR_swapchain
void vkCreateSwapchainKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkSwapchainCreateInfoKHR* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) {
if (!pSwapchain) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pSwapchain create
mReconstruction.addHandles((const uint64_t*)pSwapchain, 1);
mReconstruction.addHandleDependency((const uint64_t*)pSwapchain, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pSwapchain, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pSwapchain, 1);
}
void vkDestroySwapchainKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device, VkSwapchainKHR swapchain,
const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// swapchain destroy
mReconstruction.removeHandles((const uint64_t*)(&swapchain), 1, true);
}
void vkGetSwapchainImagesKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, VkSwapchainKHR swapchain,
uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) {}
void vkAcquireNextImageKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result, VkDevice device,
VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore,
VkFence fence, uint32_t* pImageIndex) {}
void vkQueuePresentKHR(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkQueue queue,
const VkPresentInfoKHR* pPresentInfo) {}
void vkGetDeviceGroupPresentCapabilitiesKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) {}
void vkGetDeviceGroupSurfacePresentModesKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result,
VkDevice device, VkSurfaceKHR surface,
VkDeviceGroupPresentModeFlagsKHR* pModes) {}
void vkGetPhysicalDevicePresentRectanglesKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result,
VkPhysicalDevice physicalDevice,
VkSurfaceKHR surface, uint32_t* pRectCount,
VkRect2D* pRects) {}
void vkAcquireNextImage2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkAcquireNextImageInfoKHR* pAcquireInfo,
uint32_t* pImageIndex) {}
#endif
#ifdef VK_KHR_dynamic_rendering
void vkCmdBeginRenderingKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const VkRenderingInfo* pRenderingInfo) {}
void vkCmdEndRenderingKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer) {}
#endif
#ifdef VK_KHR_get_physical_device_properties2
void vkGetPhysicalDeviceFeatures2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceFeatures2* pFeatures) {}
void vkGetPhysicalDeviceProperties2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceProperties2* pProperties) {}
void vkGetPhysicalDeviceFormatProperties2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkPhysicalDevice physicalDevice, VkFormat format,
VkFormatProperties2* pFormatProperties) {}
void vkGetPhysicalDeviceImageFormatProperties2KHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
VkImageFormatProperties2* pImageFormatProperties) {}
void vkGetPhysicalDeviceQueueFamilyProperties2KHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties) {}
void vkGetPhysicalDeviceMemoryProperties2KHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
VkPhysicalDeviceMemoryProperties2* pMemoryProperties) {}
void vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount,
VkSparseImageFormatProperties2* pProperties) {}
#endif
#ifdef VK_KHR_maintenance1
void vkTrimCommandPoolKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device, VkCommandPool commandPool,
VkCommandPoolTrimFlags flags) {}
#endif
#ifdef VK_KHR_external_memory_capabilities
void vkGetPhysicalDeviceExternalBufferPropertiesKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
VkExternalBufferProperties* pExternalBufferProperties) {}
#endif
#ifdef VK_KHR_external_semaphore_capabilities
void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
VkExternalSemaphoreProperties* pExternalSemaphoreProperties) {}
#endif
#ifdef VK_KHR_external_semaphore_fd
void vkImportSemaphoreFdKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) {}
void vkGetSemaphoreFdKHR(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) {}
#endif
#ifdef VK_KHR_descriptor_update_template
void vkCreateDescriptorUpdateTemplateKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) {
if (!pDescriptorUpdateTemplate) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pDescriptorUpdateTemplate create
mReconstruction.addHandles((const uint64_t*)pDescriptorUpdateTemplate, 1);
mReconstruction.addHandleDependency((const uint64_t*)pDescriptorUpdateTemplate, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pDescriptorUpdateTemplate, 1,
apiCallHandle, VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle,
(const uint64_t*)pDescriptorUpdateTemplate, 1);
}
void vkDestroyDescriptorUpdateTemplateKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
VkDescriptorUpdateTemplate descriptorUpdateTemplate,
const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// descriptorUpdateTemplate destroy
mReconstruction.removeHandles((const uint64_t*)(&descriptorUpdateTemplate), 1, true);
}
void vkUpdateDescriptorSetWithTemplateKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
VkDescriptorSet descriptorSet,
VkDescriptorUpdateTemplate descriptorUpdateTemplate,
const void* pData) {}
#endif
#ifdef VK_KHR_create_renderpass2
void vkCreateRenderPass2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkRenderPassCreateInfo2* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkRenderPass* pRenderPass) {
if (!pRenderPass) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pRenderPass create
mReconstruction.addHandles((const uint64_t*)pRenderPass, 1);
mReconstruction.addHandleDependency((const uint64_t*)pRenderPass, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pRenderPass, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pRenderPass, 1);
}
void vkCmdBeginRenderPass2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkRenderPassBeginInfo* pRenderPassBegin,
const VkSubpassBeginInfo* pSubpassBeginInfo) {}
void vkCmdNextSubpass2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const VkSubpassBeginInfo* pSubpassBeginInfo,
const VkSubpassEndInfo* pSubpassEndInfo) {}
void vkCmdEndRenderPass2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const VkSubpassEndInfo* pSubpassEndInfo) {}
#endif
#ifdef VK_KHR_external_fence_capabilities
void vkGetPhysicalDeviceExternalFencePropertiesKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
VkExternalFenceProperties* pExternalFenceProperties) {}
#endif
#ifdef VK_KHR_external_fence_fd
void vkImportFenceFdKHR(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkImportFenceFdInfoKHR* pImportFenceFdInfo) {}
void vkGetFenceFdKHR(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) {}
#endif
#ifdef VK_KHR_get_memory_requirements2
void vkGetImageMemoryRequirements2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device,
const VkImageMemoryRequirementsInfo2* pInfo,
VkMemoryRequirements2* pMemoryRequirements) {}
void vkGetBufferMemoryRequirements2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device,
const VkBufferMemoryRequirementsInfo2* pInfo,
VkMemoryRequirements2* pMemoryRequirements) {}
void vkGetImageSparseMemoryRequirements2KHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount,
VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) {}
#endif
#ifdef VK_KHR_sampler_ycbcr_conversion
void vkCreateSamplerYcbcrConversionKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSamplerYcbcrConversion* pYcbcrConversion) {
if (!pYcbcrConversion) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pYcbcrConversion create
mReconstruction.addHandles((const uint64_t*)pYcbcrConversion, 1);
mReconstruction.addHandleDependency((const uint64_t*)pYcbcrConversion, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pYcbcrConversion, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pYcbcrConversion,
1);
}
void vkDestroySamplerYcbcrConversionKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device,
VkSamplerYcbcrConversion ycbcrConversion,
const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// ycbcrConversion destroy
mReconstruction.removeHandles((const uint64_t*)(&ycbcrConversion), 1, true);
}
#endif
#ifdef VK_KHR_bind_memory2
void vkBindBufferMemory2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result, VkDevice device,
uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) {}
void vkBindImageMemory2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result, VkDevice device,
uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) {
// Note: special implementation
std::lock_guard<std::mutex> lock(mReconstructionMutex);
VkDecoderGlobalState* m_state = VkDecoderGlobalState::get();
uint64_t handle = m_state->newGlobalVkGenericHandle(Tag_VkBindMemory);
mReconstruction.addHandles((const uint64_t*)(&handle), 1);
mReconstruction.forEachHandleAddApi((const uint64_t*)(&handle), 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)(&handle), 1);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
for (uint32_t i = 0; i < bindInfoCount; ++i) {
mReconstruction.addHandleDependency(
(const uint64_t*)&handle, 1,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkDeviceMemory(
pBindInfos[i].memory));
mReconstruction.addHandleDependency(
(const uint64_t*)&handle, 1,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkImage(
pBindInfos[i].image));
}
}
#endif
#ifdef VK_KHR_maintenance3
void vkGetDescriptorSetLayoutSupportKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device,
const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
VkDescriptorSetLayoutSupport* pSupport) {}
#endif
#ifdef VK_KHR_buffer_device_address
void vkGetBufferDeviceAddressKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDeviceAddress input_result, VkDevice device,
const VkBufferDeviceAddressInfo* pInfo) {}
void vkGetBufferOpaqueCaptureAddressKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
uint64_t input_result, VkDevice device,
const VkBufferDeviceAddressInfo* pInfo) {}
void vkGetDeviceMemoryOpaqueCaptureAddressKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, uint64_t input_result,
VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo) {}
#endif
#ifdef VK_KHR_pipeline_executable_properties
void vkGetPipelineExecutablePropertiesKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount,
VkPipelineExecutablePropertiesKHR* pProperties) {}
void vkGetPipelineExecutableStatisticsKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo,
uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics) {}
void vkGetPipelineExecutableInternalRepresentationsKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo,
uint32_t* pInternalRepresentationCount,
VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) {}
#endif
#ifdef VK_KHR_synchronization2
void vkCmdSetEvent2KHR(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkEvent event,
const VkDependencyInfo* pDependencyInfo) {}
void vkCmdResetEvent2KHR(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkEvent event,
VkPipelineStageFlags2 stageMask) {}
void vkCmdWaitEvents2KHR(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t eventCount,
const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos) {}
void vkCmdPipelineBarrier2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkDependencyInfo* pDependencyInfo) {}
void vkCmdWriteTimestamp2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage,
VkQueryPool queryPool, uint32_t query) {}
void vkQueueSubmit2KHR(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkQueue queue, uint32_t submitCount,
const VkSubmitInfo2* pSubmits, VkFence fence) {}
#endif
#ifdef VK_KHR_copy_commands2
void vkCmdCopyBuffer2KHR(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkCopyBufferInfo2* pCopyBufferInfo) {}
void vkCmdCopyImage2KHR(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo) {
}
void vkCmdCopyBufferToImage2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo) {}
void vkCmdCopyImageToBuffer2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo) {}
void vkCmdBlitImage2KHR(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo) {
}
void vkCmdResolveImage2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const VkResolveImageInfo2* pResolveImageInfo) {}
#endif
#ifdef VK_KHR_maintenance4
void vkGetDeviceBufferMemoryRequirementsKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
const VkDeviceBufferMemoryRequirements* pInfo,
VkMemoryRequirements2* pMemoryRequirements) {}
void vkGetDeviceImageMemoryRequirementsKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
const VkDeviceImageMemoryRequirements* pInfo,
VkMemoryRequirements2* pMemoryRequirements) {}
void vkGetDeviceImageSparseMemoryRequirementsKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount,
VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) {}
#endif
#ifdef VK_KHR_maintenance5
void vkCmdBindIndexBuffer2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkBuffer buffer,
VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType) {}
void vkGetRenderingAreaGranularityKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device,
const VkRenderingAreaInfo* pRenderingAreaInfo,
VkExtent2D* pGranularity) {}
void vkGetDeviceImageSubresourceLayoutKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
const VkDeviceImageSubresourceInfo* pInfo,
VkSubresourceLayout2* pLayout) {}
void vkGetImageSubresourceLayout2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkImage image,
const VkImageSubresource2* pSubresource,
VkSubresourceLayout2* pLayout) {}
#endif
#ifdef VK_KHR_line_rasterization
void vkCmdSetLineStippleKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
uint32_t lineStippleFactor, uint16_t lineStipplePattern) {}
#endif
#ifdef VK_ANDROID_native_buffer
void vkGetSwapchainGrallocUsageANDROID(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, VkFormat format,
VkImageUsageFlags imageUsage, int* grallocUsage) {}
void vkAcquireImageANDROID(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result, VkDevice device,
VkImage image, int nativeFenceFd, VkSemaphore semaphore,
VkFence fence) {}
void vkQueueSignalReleaseImageANDROID(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkQueue queue,
uint32_t waitSemaphoreCount,
const VkSemaphore* pWaitSemaphores, VkImage image,
int* pNativeFenceFd) {}
void vkGetSwapchainGrallocUsage2ANDROID(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, VkFormat format,
VkImageUsageFlags imageUsage,
VkSwapchainImageUsageFlagsANDROID swapchainImageUsage,
uint64_t* grallocConsumerUsage,
uint64_t* grallocProducerUsage) {}
#endif
#ifdef VK_EXT_debug_report
void vkCreateDebugReportCallbackEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkInstance instance,
const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkDebugReportCallbackEXT* pCallback) {
if (!pCallback) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pCallback create
mReconstruction.addHandles((const uint64_t*)pCallback, 1);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pCallback, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pCallback, 1);
}
void vkDestroyDebugReportCallbackEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkInstance instance, VkDebugReportCallbackEXT callback,
const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// callback destroy
mReconstruction.removeHandles((const uint64_t*)(&callback), 1, true);
}
void vkDebugReportMessageEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkInstance instance, VkDebugReportFlagsEXT flags,
VkDebugReportObjectTypeEXT objectType, uint64_t object,
size_t location, int32_t messageCode, const char* pLayerPrefix,
const char* pMessage) {}
#endif
#ifdef VK_EXT_transform_feedback
void vkCmdBindTransformFeedbackBuffersEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers,
const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes) {}
void vkCmdBeginTransformFeedbackEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer,
uint32_t counterBufferCount,
const VkBuffer* pCounterBuffers,
const VkDeviceSize* pCounterBufferOffsets) {}
void vkCmdEndTransformFeedbackEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer,
uint32_t counterBufferCount, const VkBuffer* pCounterBuffers,
const VkDeviceSize* pCounterBufferOffsets) {}
void vkCmdBeginQueryIndexedEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkQueryPool queryPool,
uint32_t query, VkQueryControlFlags flags, uint32_t index) {}
void vkCmdEndQueryIndexedEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkQueryPool queryPool,
uint32_t query, uint32_t index) {}
void vkCmdDrawIndirectByteCountEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t instanceCount,
uint32_t firstInstance, VkBuffer counterBuffer,
VkDeviceSize counterBufferOffset, uint32_t counterOffset,
uint32_t vertexStride) {}
#endif
#ifdef VK_EXT_debug_utils
void vkSetDebugUtilsObjectNameEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkDebugUtilsObjectNameInfoEXT* pNameInfo) {}
void vkSetDebugUtilsObjectTagEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkDebugUtilsObjectTagInfoEXT* pTagInfo) {}
void vkQueueBeginDebugUtilsLabelEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo) {}
void vkQueueEndDebugUtilsLabelEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkQueue queue) {}
void vkQueueInsertDebugUtilsLabelEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo) {}
void vkCmdBeginDebugUtilsLabelEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkDebugUtilsLabelEXT* pLabelInfo) {}
void vkCmdEndDebugUtilsLabelEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer) {}
void vkCmdInsertDebugUtilsLabelEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkDebugUtilsLabelEXT* pLabelInfo) {}
void vkCreateDebugUtilsMessengerEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkInstance instance,
const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkDebugUtilsMessengerEXT* pMessenger) {
if (!pMessenger) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pMessenger create
mReconstruction.addHandles((const uint64_t*)pMessenger, 1);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pMessenger, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pMessenger, 1);
}
void vkDestroyDebugUtilsMessengerEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkInstance instance, VkDebugUtilsMessengerEXT messenger,
const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// messenger destroy
mReconstruction.removeHandles((const uint64_t*)(&messenger), 1, true);
}
void vkSubmitDebugUtilsMessageEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkInstance instance,
VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
VkDebugUtilsMessageTypeFlagsEXT messageTypes,
const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData) {}
#endif
#ifdef VK_EXT_image_drm_format_modifier
void vkGetImageDrmFormatModifierPropertiesEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties) {}
#endif
#ifdef VK_EXT_external_memory_host
void vkGetMemoryHostPointerPropertiesEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer,
VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties) {}
#endif
#ifdef VK_EXT_tooling_info
void vkGetPhysicalDeviceToolPropertiesEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result,
VkPhysicalDevice physicalDevice, uint32_t* pToolCount,
VkPhysicalDeviceToolProperties* pToolProperties) {}
#endif
#ifdef VK_EXT_line_rasterization
void vkCmdSetLineStippleEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
uint32_t lineStippleFactor, uint16_t lineStipplePattern) {}
#endif
#ifdef VK_EXT_extended_dynamic_state
void vkCmdSetCullModeEXT(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) {}
void vkCmdSetFrontFaceEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkFrontFace frontFace) {}
void vkCmdSetPrimitiveTopologyEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkPrimitiveTopology primitiveTopology) {}
void vkCmdSetViewportWithCountEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t viewportCount,
const VkViewport* pViewports) {}
void vkCmdSetScissorWithCountEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t scissorCount,
const VkRect2D* pScissors) {}
void vkCmdBindVertexBuffers2EXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t firstBinding,
uint32_t bindingCount, const VkBuffer* pBuffers,
const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes,
const VkDeviceSize* pStrides) {}
void vkCmdSetDepthTestEnableEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) {}
void vkCmdSetDepthWriteEnableEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) {}
void vkCmdSetDepthCompareOpEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) {}
void vkCmdSetDepthBoundsTestEnableEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkBool32 depthBoundsTestEnable) {}
void vkCmdSetStencilTestEnableEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) {}
void vkCmdSetStencilOpEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp,
VkStencilOp depthFailOp, VkCompareOp compareOp) {}
#endif
#ifdef VK_EXT_host_image_copy
void vkCopyMemoryToImageEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo) {}
void vkCopyImageToMemoryEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo) {}
void vkCopyImageToImageEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkCopyImageToImageInfo* pCopyImageToImageInfo) {}
void vkTransitionImageLayoutEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
uint32_t transitionCount,
const VkHostImageLayoutTransitionInfo* pTransitions) {}
void vkGetImageSubresourceLayout2EXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkImage image,
const VkImageSubresource2* pSubresource,
VkSubresourceLayout2* pLayout) {}
#endif
#ifdef VK_EXT_swapchain_maintenance1
void vkReleaseSwapchainImagesEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo) {}
#endif
#ifdef VK_EXT_private_data
void vkCreatePrivateDataSlotEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkPrivateDataSlotCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkPrivateDataSlot* pPrivateDataSlot) {}
void vkDestroyPrivateDataSlotEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkPrivateDataSlot privateDataSlot,
const VkAllocationCallbacks* pAllocator) {}
void vkSetPrivateDataEXT(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, VkObjectType objectType,
uint64_t objectHandle, VkPrivateDataSlot privateDataSlot,
uint64_t data) {}
void vkGetPrivateDataEXT(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkObjectType objectType, uint64_t objectHandle,
VkPrivateDataSlot privateDataSlot, uint64_t* pData) {}
#endif
#ifdef VK_EXT_extended_dynamic_state2
void vkCmdSetPatchControlPointsEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t patchControlPoints) {
}
void vkCmdSetRasterizerDiscardEnableEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkBool32 rasterizerDiscardEnable) {}
void vkCmdSetDepthBiasEnableEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable) {}
void vkCmdSetLogicOpEXT(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkLogicOp logicOp) {}
void vkCmdSetPrimitiveRestartEnableEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkBool32 primitiveRestartEnable) {}
#endif
#ifdef VK_EXT_color_write_enable
void vkCmdSetColorWriteEnableEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t attachmentCount,
const VkBool32* pColorWriteEnables) {}
#endif
#ifdef VK_GOOGLE_gfxstream
void vkMapMemoryIntoAddressSpaceGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
VkDeviceMemory memory, uint64_t* pAddress) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
VkDecoderGlobalState* m_state = VkDecoderGlobalState::get();
uint64_t handle = m_state->newGlobalVkGenericHandle(Tag_VkMapMemory);
mReconstruction.addHandles((const uint64_t*)(&handle), 1);
mReconstruction.addHandleDependency(
(const uint64_t*)(&handle), 1,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkDeviceMemory(memory));
mReconstruction.forEachHandleAddApi((const uint64_t*)(&handle), 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)(&handle), 1);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
}
void vkUpdateDescriptorSetWithTemplateSizedGOOGLE(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate,
uint32_t imageInfoCount, uint32_t bufferInfoCount, uint32_t bufferViewCount,
const uint32_t* pImageInfoEntryIndices, const uint32_t* pBufferInfoEntryIndices,
const uint32_t* pBufferViewEntryIndices, const VkDescriptorImageInfo* pImageInfos,
const VkDescriptorBufferInfo* pBufferInfos, const VkBufferView* pBufferViews) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
VkDecoderGlobalState* m_state = VkDecoderGlobalState::get();
if (m_state->batchedDescriptorSetUpdateEnabled()) {
return;
}
uint64_t handle = m_state->newGlobalVkGenericHandle(Tag_VkUpdateDescriptorSets);
mReconstruction.addHandles((const uint64_t*)(&handle), 1);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.addHandleDependency((const uint64_t*)(&handle), 1,
(uint64_t)(uintptr_t)device);
mReconstruction.forEachHandleAddApi((const uint64_t*)(&handle), 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)(&handle), 1);
}
void vkBeginCommandBufferAsyncGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkCommandBufferBeginInfo* pBeginInfo) {}
void vkEndCommandBufferAsyncGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer) {}
void vkResetCommandBufferAsyncGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkCommandBufferResetFlags flags) {}
void vkCommandBufferHostSyncGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t needHostSync,
uint32_t sequenceNumber) {}
void vkCreateImageWithRequirementsGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkImageCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkImage* pImage,
VkMemoryRequirements* pMemoryRequirements) {
if (!pImage) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pImage create
mReconstruction.addHandles((const uint64_t*)pImage, 1);
mReconstruction.addHandleDependency((const uint64_t*)pImage, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pImage, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pImage, 1);
}
void vkCreateBufferWithRequirementsGOOGLE(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkDevice device, const VkBufferCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer,
VkMemoryRequirements* pMemoryRequirements) {
if (!pBuffer) return;
if (input_result != VK_SUCCESS) return;
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// pBuffer create
mReconstruction.addHandles((const uint64_t*)pBuffer, 1);
mReconstruction.addHandleDependency((const uint64_t*)pBuffer, 1,
(uint64_t)(uintptr_t)device);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.forEachHandleAddApi((const uint64_t*)pBuffer, 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)pBuffer, 1);
}
void vkGetMemoryHostAddressInfoGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
VkDeviceMemory memory, uint64_t* pAddress,
uint64_t* pSize, uint64_t* pHostmemId) {}
void vkFreeMemorySyncGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result, VkDevice device,
VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
// memory destroy
mReconstruction.removeHandles((const uint64_t*)(&memory), 1, true);
}
void vkQueueHostSyncGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkQueue queue, uint32_t needHostSync,
uint32_t sequenceNumber) {}
void vkQueueSubmitAsyncGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits,
VkFence fence) {}
void vkQueueWaitIdleAsyncGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkQueue queue) {}
void vkQueueBindSparseAsyncGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkQueue queue, uint32_t bindInfoCount,
const VkBindSparseInfo* pBindInfo, VkFence fence) {}
void vkGetLinearImageLayoutGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkFormat format, VkDeviceSize* pOffset,
VkDeviceSize* pRowPitchAlignment) {}
void vkGetLinearImageLayout2GOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, const VkImageCreateInfo* pCreateInfo,
VkDeviceSize* pOffset, VkDeviceSize* pRowPitchAlignment) {}
void vkQueueFlushCommandsGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkQueue queue, VkCommandBuffer commandBuffer,
VkDeviceSize dataSize, const void* pData) {
// Note: special implementation
std::lock_guard<std::mutex> lock(mReconstructionMutex);
VkDecoderGlobalState* m_state = VkDecoderGlobalState::get();
uint64_t handle = m_state->newGlobalVkGenericHandle(Tag_VkCmdOp);
mReconstruction.addHandles((const uint64_t*)(&handle), 1);
mReconstruction.forEachHandleAddApi((const uint64_t*)(&handle), 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)(&handle), 1);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.removeDescendantsOfHandle((uint64_t)(uintptr_t)commandBuffer);
mReconstruction.addHandleDependency((const uint64_t*)(&handle), 1,
(uint64_t)(uintptr_t)commandBuffer);
// Track that `handle` depends on previously tracked dependencies (e.g. the handle for this
// `vkQueueFlushCommandsGOOGLE()` call depends on the `VkPipeline` handle from
// `vkCmdBindPipeline()`).
mReconstruction.addHandleDependenciesForApiCallDependencies(apiCallHandle, handle);
}
void vkQueueCommitDescriptorSetUpdatesGOOGLE(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkQueue queue,
uint32_t descriptorPoolCount, const VkDescriptorPool* pDescriptorPools,
uint32_t descriptorSetCount, const VkDescriptorSetLayout* pSetLayouts,
const uint64_t* pDescriptorSetPoolIds, const uint32_t* pDescriptorSetWhichPool,
const uint32_t* pDescriptorSetPendingAllocation,
const uint32_t* pDescriptorWriteStartingIndices, uint32_t pendingDescriptorWriteCount,
const VkWriteDescriptorSet* pPendingDescriptorWrites) {}
void vkCollectDescriptorPoolIdsGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkDescriptorPool descriptorPool,
uint32_t* pPoolIdCount, uint64_t* pPoolIds) {}
void vkQueueSignalReleaseImageANDROIDAsyncGOOGLE(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkQueue queue,
uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image) {}
void vkQueueFlushCommandsFromAuxMemoryGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkQueue queue,
VkCommandBuffer commandBuffer,
VkDeviceMemory deviceMemory,
VkDeviceSize dataOffset, VkDeviceSize dataSize) {}
void vkGetBlobGOOGLE(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, VkDeviceMemory memory) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
VkDecoderGlobalState* m_state = VkDecoderGlobalState::get();
uint64_t handle = m_state->newGlobalVkGenericHandle(Tag_VkMapMemory);
mReconstruction.addHandles((const uint64_t*)(&handle), 1);
mReconstruction.addHandleDependency(
(const uint64_t*)(&handle), 1,
(uint64_t)(uintptr_t)unboxed_to_boxed_non_dispatchable_VkDeviceMemory(memory));
mReconstruction.forEachHandleAddApi((const uint64_t*)(&handle), 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)(&handle), 1);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
}
void vkUpdateDescriptorSetWithTemplateSized2GOOGLE(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate,
uint32_t imageInfoCount, uint32_t bufferInfoCount, uint32_t bufferViewCount,
uint32_t inlineUniformBlockCount, const uint32_t* pImageInfoEntryIndices,
const uint32_t* pBufferInfoEntryIndices, const uint32_t* pBufferViewEntryIndices,
const VkDescriptorImageInfo* pImageInfos, const VkDescriptorBufferInfo* pBufferInfos,
const VkBufferView* pBufferViews, const uint8_t* pInlineUniformBlockData) {
std::lock_guard<std::mutex> lock(mReconstructionMutex);
VkDecoderGlobalState* m_state = VkDecoderGlobalState::get();
if (m_state->batchedDescriptorSetUpdateEnabled()) {
return;
}
uint64_t handle = m_state->newGlobalVkGenericHandle(Tag_VkUpdateDescriptorSets);
mReconstruction.addHandles((const uint64_t*)(&handle), 1);
mReconstruction.setApiTrace(apiCallHandle, apiCallPacket, apiCallPacketSize);
mReconstruction.addHandleDependency((const uint64_t*)(&handle), 1,
(uint64_t)(uintptr_t)device);
mReconstruction.forEachHandleAddApi((const uint64_t*)(&handle), 1, apiCallHandle,
VkReconstruction::CREATED);
mReconstruction.setCreatedHandlesForApi(apiCallHandle, (const uint64_t*)(&handle), 1);
}
void vkQueueSubmitAsync2GOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkQueue queue, uint32_t submitCount,
const VkSubmitInfo2* pSubmits, VkFence fence) {}
void vkGetSemaphoreGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle, const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result, VkDevice device,
VkSemaphore semaphore, uint64_t syncId) {}
#endif
private:
std::mutex mReconstructionMutex;
VkReconstruction mReconstruction GUARDED_BY(mReconstructionMutex);
};
VkDecoderSnapshot::VkDecoderSnapshot() : mImpl(new VkDecoderSnapshot::Impl()) {}
void VkDecoderSnapshot::clear() { mImpl->clear(); }
void VkDecoderSnapshot::saveReplayBuffers(gfxstream::Stream* stream) {
mImpl->saveReplayBuffers(stream);
}
/*static*/
void VkDecoderSnapshot::loadReplayBuffers(gfxstream::Stream* stream,
std::vector<uint64_t>* outHandleBuffer,
std::vector<uint8_t>* outDecoderBuffer) {
VkDecoderSnapshot::Impl::loadReplayBuffers(stream, outHandleBuffer, outDecoderBuffer);
}
VkSnapshotApiCallHandle VkDecoderSnapshot::createApiCallInfo() {
return mImpl->createApiCallInfo();
}
void VkDecoderSnapshot::destroyApiCallInfoIfUnused(VkSnapshotApiCallHandle handle) {
mImpl->destroyApiCallInfoIfUnused(handle);
}
void VkDecoderSnapshot::addOrderedBoxedHandlesCreatedByCall(VkSnapshotApiCallHandle apiCallHandle,
VkObjectHandle* boxedHandles,
uint32_t boxedHandlesCount) {
mImpl->addOrderedBoxedHandlesCreatedByCall(apiCallHandle, boxedHandles, boxedHandlesCount);
}
VkDecoderSnapshot::~VkDecoderSnapshot() = default;
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCreateInstance(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result,
const VkInstanceCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkInstance* pInstance) {
mImpl->vkCreateInstance(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
pCreateInfo, pAllocator, pInstance);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkDestroyInstance(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkInstance instance,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyInstance(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, instance,
pAllocator);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkEnumeratePhysicalDevices(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices) {
mImpl->vkEnumeratePhysicalDevices(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, instance, pPhysicalDeviceCount,
pPhysicalDevices);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkGetPhysicalDeviceFeatures(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceFeatures* pFeatures) {
mImpl->vkGetPhysicalDeviceFeatures(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
physicalDevice, pFeatures);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkGetPhysicalDeviceFormatProperties(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
VkFormat format, VkFormatProperties* pFormatProperties) {
mImpl->vkGetPhysicalDeviceFormatProperties(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, physicalDevice, format,
pFormatProperties);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkGetPhysicalDeviceImageFormatProperties(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling,
VkImageUsageFlags usage, VkImageCreateFlags flags,
VkImageFormatProperties* pImageFormatProperties) {
mImpl->vkGetPhysicalDeviceImageFormatProperties(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result, physicalDevice, format,
type, tiling, usage, flags, pImageFormatProperties);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkGetPhysicalDeviceProperties(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceProperties* pProperties) {
mImpl->vkGetPhysicalDeviceProperties(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
physicalDevice, pProperties);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkGetPhysicalDeviceQueueFamilyProperties(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties) {
mImpl->vkGetPhysicalDeviceQueueFamilyProperties(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, physicalDevice,
pQueueFamilyPropertyCount, pQueueFamilyProperties);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkGetPhysicalDeviceMemoryProperties(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
VkPhysicalDeviceMemoryProperties* pMemoryProperties) {
mImpl->vkGetPhysicalDeviceMemoryProperties(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, physicalDevice, pMemoryProperties);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkGetInstanceProcAddr(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
PFN_vkVoidFunction input_result, VkInstance instance,
const char* pName) {
mImpl->vkGetInstanceProcAddr(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, instance, pName);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkGetDeviceProcAddr(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
PFN_vkVoidFunction input_result, VkDevice device,
const char* pName) {
mImpl->vkGetDeviceProcAddr(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pName);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCreateDevice(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkPhysicalDevice physicalDevice,
const VkDeviceCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkDevice* pDevice) {
mImpl->vkCreateDevice(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
physicalDevice, pCreateInfo, pAllocator, pDevice);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkDestroyDevice(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyDevice(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
pAllocator);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkEnumerateInstanceExtensionProperties(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) {
mImpl->vkEnumerateInstanceExtensionProperties(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, input_result, pLayerName,
pPropertyCount, pProperties);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkEnumerateDeviceExtensionProperties(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount,
VkExtensionProperties* pProperties) {
mImpl->vkEnumerateDeviceExtensionProperties(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, input_result, physicalDevice,
pLayerName, pPropertyCount, pProperties);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkEnumerateInstanceLayerProperties(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
uint32_t* pPropertyCount, VkLayerProperties* pProperties) {
mImpl->vkEnumerateInstanceLayerProperties(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, pPropertyCount, pProperties);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkEnumerateDeviceLayerProperties(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties) {
mImpl->vkEnumerateDeviceLayerProperties(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, physicalDevice, pPropertyCount,
pProperties);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkGetDeviceQueue(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, uint32_t queueFamilyIndex,
uint32_t queueIndex, VkQueue* pQueue) {
mImpl->vkGetDeviceQueue(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
queueFamilyIndex, queueIndex, pQueue);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkQueueSubmit(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkQueue queue, uint32_t submitCount,
const VkSubmitInfo* pSubmits, VkFence fence) {
mImpl->vkQueueSubmit(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result, queue,
submitCount, pSubmits, fence);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkQueueWaitIdle(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkQueue queue) {
mImpl->vkQueueWaitIdle(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
queue);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkDeviceWaitIdle(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device) {
mImpl->vkDeviceWaitIdle(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkAllocateMemory(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkMemoryAllocateInfo* pAllocateInfo,
const VkAllocationCallbacks* pAllocator,
VkDeviceMemory* pMemory) {
mImpl->vkAllocateMemory(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pAllocateInfo, pAllocator, pMemory);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkFreeMemory(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkDeviceMemory memory,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkFreeMemory(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device, memory,
pAllocator);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkMapMemory(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, VkDeviceMemory memory,
VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags,
void** ppData) {
mImpl->vkMapMemory(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result, device,
memory, offset, size, flags, ppData);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkUnmapMemory(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkDeviceMemory memory) {
mImpl->vkUnmapMemory(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device, memory);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkFlushMappedMemoryRanges(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result,
VkDevice device, uint32_t memoryRangeCount,
const VkMappedMemoryRange* pMemoryRanges) {
mImpl->vkFlushMappedMemoryRanges(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, memoryRangeCount, pMemoryRanges);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkInvalidateMappedMemoryRanges(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) {
mImpl->vkInvalidateMappedMemoryRanges(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, memoryRangeCount, pMemoryRanges);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkGetDeviceMemoryCommitment(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
VkDeviceMemory memory,
VkDeviceSize* pCommittedMemoryInBytes) {
mImpl->vkGetDeviceMemoryCommitment(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, memory, pCommittedMemoryInBytes);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkBindBufferMemory(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, VkBuffer buffer,
VkDeviceMemory memory, VkDeviceSize memoryOffset) {
mImpl->vkBindBufferMemory(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, buffer, memory, memoryOffset);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkBindImageMemory(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, VkImage image,
VkDeviceMemory memory, VkDeviceSize memoryOffset) {
mImpl->vkBindImageMemory(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, image, memory, memoryOffset);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkGetBufferMemoryRequirements(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
VkBuffer buffer,
VkMemoryRequirements* pMemoryRequirements) {
mImpl->vkGetBufferMemoryRequirements(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, buffer, pMemoryRequirements);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkGetImageMemoryRequirements(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
VkImage image,
VkMemoryRequirements* pMemoryRequirements) {
mImpl->vkGetImageMemoryRequirements(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, image, pMemoryRequirements);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkGetImageSparseMemoryRequirements(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device, VkImage image,
uint32_t* pSparseMemoryRequirementCount,
VkSparseImageMemoryRequirements* pSparseMemoryRequirements) {
mImpl->vkGetImageSparseMemoryRequirements(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, image, pSparseMemoryRequirementCount,
pSparseMemoryRequirements);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkGetPhysicalDeviceSparseImageFormatProperties(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage,
VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties) {
mImpl->vkGetPhysicalDeviceSparseImageFormatProperties(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, physicalDevice, format, type,
samples, usage, tiling, pPropertyCount, pProperties);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkQueueBindSparse(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkQueue queue,
uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo,
VkFence fence) {
mImpl->vkQueueBindSparse(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
queue, bindInfoCount, pBindInfo, fence);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCreateFence(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkFenceCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkFence* pFence) {
mImpl->vkCreateFence(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pCreateInfo, pAllocator, pFence);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkDestroyFence(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkFence fence,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyFence(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device, fence,
pAllocator);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkResetFences(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, uint32_t fenceCount,
const VkFence* pFences) {
mImpl->vkResetFences(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, fenceCount, pFences);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkGetFenceStatus(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, VkFence fence) {
mImpl->vkGetFenceStatus(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, fence);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkWaitForFences(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, uint32_t fenceCount,
const VkFence* pFences, VkBool32 waitAll,
uint64_t timeout) {
mImpl->vkWaitForFences(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, fenceCount, pFences, waitAll, timeout);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCreateSemaphore(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkSemaphoreCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSemaphore* pSemaphore) {
mImpl->vkCreateSemaphore(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pCreateInfo, pAllocator, pSemaphore);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkDestroySemaphore(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkSemaphore semaphore,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroySemaphore(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
semaphore, pAllocator);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCreateEvent(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkEventCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) {
mImpl->vkCreateEvent(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pCreateInfo, pAllocator, pEvent);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkDestroyEvent(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkEvent event,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyEvent(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device, event,
pAllocator);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkGetEventStatus(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, VkEvent event) {
mImpl->vkGetEventStatus(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, event);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkSetEvent(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, VkEvent event) {
mImpl->vkSetEvent(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result, device,
event);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkResetEvent(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device, VkEvent event) {
mImpl->vkResetEvent(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result, device,
event);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCreateQueryPool(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkQueryPoolCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkQueryPool* pQueryPool) {
mImpl->vkCreateQueryPool(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pCreateInfo, pAllocator, pQueryPool);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkDestroyQueryPool(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkQueryPool queryPool,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyQueryPool(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
queryPool, pAllocator);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkGetQueryPoolResults(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData,
VkDeviceSize stride, VkQueryResultFlags flags) {
mImpl->vkGetQueryPoolResults(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, queryPool, firstQuery, queryCount, dataSize,
pData, stride, flags);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCreateBuffer(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkBufferCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) {
mImpl->vkCreateBuffer(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pCreateInfo, pAllocator, pBuffer);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkDestroyBuffer(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkBuffer buffer,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyBuffer(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device, buffer,
pAllocator);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCreateBufferView(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkBufferViewCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkBufferView* pView) {
mImpl->vkCreateBufferView(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pCreateInfo, pAllocator, pView);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkDestroyBufferView(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkBufferView bufferView,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyBufferView(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
bufferView, pAllocator);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCreateImage(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkImageCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkImage* pImage) {
mImpl->vkCreateImage(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pCreateInfo, pAllocator, pImage);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkDestroyImage(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkImage image,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyImage(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device, image,
pAllocator);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkGetImageSubresourceLayout(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device, VkImage image,
const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) {
mImpl->vkGetImageSubresourceLayout(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, image, pSubresource, pLayout);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCreateImageView(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkImageViewCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkImageView* pView) {
mImpl->vkCreateImageView(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pCreateInfo, pAllocator, pView);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkDestroyImageView(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkImageView imageView,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyImageView(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
imageView, pAllocator);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCreateShaderModule(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkShaderModuleCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkShaderModule* pShaderModule) {
mImpl->vkCreateShaderModule(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pCreateInfo, pAllocator, pShaderModule);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkDestroyShaderModule(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
VkShaderModule shaderModule,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyShaderModule(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
shaderModule, pAllocator);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCreatePipelineCache(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator,
VkPipelineCache* pPipelineCache) {
mImpl->vkCreatePipelineCache(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pCreateInfo, pAllocator, pPipelineCache);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkDestroyPipelineCache(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
VkPipelineCache pipelineCache,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyPipelineCache(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
pipelineCache, pAllocator);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkGetPipelineCacheData(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result,
VkDevice device, VkPipelineCache pipelineCache,
size_t* pDataSize, void* pData) {
mImpl->vkGetPipelineCacheData(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pipelineCache, pDataSize, pData);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkMergePipelineCaches(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) {
mImpl->vkMergePipelineCaches(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, dstCache, srcCacheCount, pSrcCaches);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCreateGraphicsPipelines(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
VkPipelineCache pipelineCache, uint32_t createInfoCount,
const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator,
VkPipeline* pPipelines) {
mImpl->vkCreateGraphicsPipelines(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pipelineCache, createInfoCount,
pCreateInfos, pAllocator, pPipelines);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCreateComputePipelines(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
VkPipelineCache pipelineCache, uint32_t createInfoCount,
const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator,
VkPipeline* pPipelines) {
mImpl->vkCreateComputePipelines(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pipelineCache, createInfoCount,
pCreateInfos, pAllocator, pPipelines);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkDestroyPipeline(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkPipeline pipeline,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyPipeline(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
pipeline, pAllocator);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCreatePipelineLayout(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator,
VkPipelineLayout* pPipelineLayout) {
mImpl->vkCreatePipelineLayout(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pCreateInfo, pAllocator, pPipelineLayout);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkDestroyPipelineLayout(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
VkPipelineLayout pipelineLayout,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyPipelineLayout(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
pipelineLayout, pAllocator);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCreateSampler(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkSamplerCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSampler* pSampler) {
mImpl->vkCreateSampler(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pCreateInfo, pAllocator, pSampler);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkDestroySampler(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkSampler sampler,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroySampler(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device, sampler,
pAllocator);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCreateDescriptorSetLayout(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator,
VkDescriptorSetLayout* pSetLayout) {
mImpl->vkCreateDescriptorSetLayout(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pCreateInfo, pAllocator, pSetLayout);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkDestroyDescriptorSetLayout(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
VkDescriptorSetLayout descriptorSetLayout,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyDescriptorSetLayout(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, descriptorSetLayout, pAllocator);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCreateDescriptorPool(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator,
VkDescriptorPool* pDescriptorPool) {
mImpl->vkCreateDescriptorPool(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pCreateInfo, pAllocator, pDescriptorPool);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkDestroyDescriptorPool(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
VkDescriptorPool descriptorPool,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyDescriptorPool(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
descriptorPool, pAllocator);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkResetDescriptorPool(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result,
VkDevice device, VkDescriptorPool descriptorPool,
VkDescriptorPoolResetFlags flags) {
mImpl->vkResetDescriptorPool(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, descriptorPool, flags);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkAllocateDescriptorSets(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) {
mImpl->vkAllocateDescriptorSets(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pAllocateInfo, pDescriptorSets);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkFreeDescriptorSets(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
VkDescriptorPool descriptorPool,
uint32_t descriptorSetCount,
const VkDescriptorSet* pDescriptorSets) {
mImpl->vkFreeDescriptorSets(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, descriptorPool, descriptorSetCount, pDescriptorSets);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkUpdateDescriptorSets(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites,
uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) {
mImpl->vkUpdateDescriptorSets(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
descriptorWriteCount, pDescriptorWrites, descriptorCopyCount,
pDescriptorCopies);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCreateFramebuffer(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkFramebufferCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkFramebuffer* pFramebuffer) {
mImpl->vkCreateFramebuffer(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pCreateInfo, pAllocator, pFramebuffer);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkDestroyFramebuffer(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkFramebuffer framebuffer,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyFramebuffer(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
framebuffer, pAllocator);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCreateRenderPass(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkRenderPassCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkRenderPass* pRenderPass) {
mImpl->vkCreateRenderPass(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pCreateInfo, pAllocator, pRenderPass);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkDestroyRenderPass(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkRenderPass renderPass,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyRenderPass(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
renderPass, pAllocator);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkGetRenderAreaGranularity(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
VkRenderPass renderPass,
VkExtent2D* pGranularity) {
mImpl->vkGetRenderAreaGranularity(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
renderPass, pGranularity);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCreateCommandPool(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkCommandPoolCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkCommandPool* pCommandPool) {
mImpl->vkCreateCommandPool(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pCreateInfo, pAllocator, pCommandPool);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkDestroyCommandPool(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkCommandPool commandPool,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyCommandPool(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
commandPool, pAllocator);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkResetCommandPool(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
VkCommandPool commandPool,
VkCommandPoolResetFlags flags) {
mImpl->vkResetCommandPool(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, commandPool, flags);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkAllocateCommandBuffers(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) {
mImpl->vkAllocateCommandBuffers(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pAllocateInfo, pCommandBuffers);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkFreeCommandBuffers(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkCommandPool commandPool,
uint32_t commandBufferCount,
const VkCommandBuffer* pCommandBuffers) {
mImpl->vkFreeCommandBuffers(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
commandPool, commandBufferCount, pCommandBuffers);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkBeginCommandBuffer(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkCommandBuffer commandBuffer,
const VkCommandBufferBeginInfo* pBeginInfo) {
mImpl->vkBeginCommandBuffer(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
commandBuffer, pBeginInfo);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkEndCommandBuffer(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkCommandBuffer commandBuffer) {
mImpl->vkEndCommandBuffer(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
commandBuffer);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkResetCommandBuffer(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkCommandBuffer commandBuffer,
VkCommandBufferResetFlags flags) {
mImpl->vkResetCommandBuffer(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
commandBuffer, flags);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdBindPipeline(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkPipelineBindPoint pipelineBindPoint,
VkPipeline pipeline) {
mImpl->vkCmdBindPipeline(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
pipelineBindPoint, pipeline);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdSetViewport(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t firstViewport,
uint32_t viewportCount, const VkViewport* pViewports) {
mImpl->vkCmdSetViewport(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
firstViewport, viewportCount, pViewports);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdSetScissor(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t firstScissor,
uint32_t scissorCount, const VkRect2D* pScissors) {
mImpl->vkCmdSetScissor(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
firstScissor, scissorCount, pScissors);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdSetLineWidth(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, float lineWidth) {
mImpl->vkCmdSetLineWidth(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
lineWidth);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdSetDepthBias(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
float depthBiasConstantFactor, float depthBiasClamp,
float depthBiasSlopeFactor) {
mImpl->vkCmdSetDepthBias(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdSetBlendConstants(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const float blendConstants[4]) {
mImpl->vkCmdSetBlendConstants(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, blendConstants);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdSetDepthBounds(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, float minDepthBounds,
float maxDepthBounds) {
mImpl->vkCmdSetDepthBounds(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
minDepthBounds, maxDepthBounds);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdSetStencilCompareMask(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkStencilFaceFlags faceMask, uint32_t compareMask) {
mImpl->vkCmdSetStencilCompareMask(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, faceMask, compareMask);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdSetStencilWriteMask(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkStencilFaceFlags faceMask, uint32_t writeMask) {
mImpl->vkCmdSetStencilWriteMask(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, faceMask, writeMask);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdSetStencilReference(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkStencilFaceFlags faceMask, uint32_t reference) {
mImpl->vkCmdSetStencilReference(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, faceMask, reference);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdBindDescriptorSets(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet,
uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets,
uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets) {
mImpl->vkCmdBindDescriptorSets(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer, pipelineBindPoint,
layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdBindIndexBuffer(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkBuffer buffer,
VkDeviceSize offset, VkIndexType indexType) {
mImpl->vkCmdBindIndexBuffer(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, buffer, offset, indexType);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdBindVertexBuffers(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t firstBinding,
uint32_t bindingCount, const VkBuffer* pBuffers,
const VkDeviceSize* pOffsets) {
mImpl->vkCmdBindVertexBuffers(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdDraw(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t vertexCount,
uint32_t instanceCount, uint32_t firstVertex,
uint32_t firstInstance) {
mImpl->vkCmdDraw(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
vertexCount, instanceCount, firstVertex, firstInstance);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdDrawIndexed(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t indexCount,
uint32_t instanceCount, uint32_t firstIndex,
int32_t vertexOffset, uint32_t firstInstance) {
mImpl->vkCmdDrawIndexed(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
indexCount, instanceCount, firstIndex, vertexOffset, firstInstance);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdDrawIndirect(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkBuffer buffer,
VkDeviceSize offset, uint32_t drawCount,
uint32_t stride) {
mImpl->vkCmdDrawIndirect(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
buffer, offset, drawCount, stride);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdDrawIndexedIndirect(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) {
mImpl->vkCmdDrawIndexedIndirect(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, buffer, offset, drawCount, stride);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdDispatch(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t groupCountX,
uint32_t groupCountY, uint32_t groupCountZ) {
mImpl->vkCmdDispatch(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
groupCountX, groupCountY, groupCountZ);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdDispatchIndirect(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkBuffer buffer,
VkDeviceSize offset) {
mImpl->vkCmdDispatchIndirect(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, buffer, offset);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdCopyBuffer(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkBuffer srcBuffer,
VkBuffer dstBuffer, uint32_t regionCount,
const VkBufferCopy* pRegions) {
mImpl->vkCmdCopyBuffer(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
srcBuffer, dstBuffer, regionCount, pRegions);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdCopyImage(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkImage srcImage,
VkImageLayout srcImageLayout, VkImage dstImage,
VkImageLayout dstImageLayout, uint32_t regionCount,
const VkImageCopy* pRegions) {
mImpl->vkCmdCopyImage(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount,
pRegions);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdBlitImage(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkImage srcImage,
VkImageLayout srcImageLayout, VkImage dstImage,
VkImageLayout dstImageLayout, uint32_t regionCount,
const VkImageBlit* pRegions, VkFilter filter) {
mImpl->vkCmdBlitImage(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions,
filter);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdCopyBufferToImage(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount,
const VkBufferImageCopy* pRegions) {
mImpl->vkCmdCopyBufferToImage(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount,
pRegions);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdCopyImageToBuffer(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount,
const VkBufferImageCopy* pRegions) {
mImpl->vkCmdCopyImageToBuffer(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount,
pRegions);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdUpdateBuffer(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkBuffer dstBuffer,
VkDeviceSize dstOffset, VkDeviceSize dataSize,
const void* pData) {
mImpl->vkCmdUpdateBuffer(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
dstBuffer, dstOffset, dataSize, pData);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdFillBuffer(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkBuffer dstBuffer,
VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) {
mImpl->vkCmdFillBuffer(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
dstBuffer, dstOffset, size, data);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdClearColorImage(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkImage image,
VkImageLayout imageLayout,
const VkClearColorValue* pColor, uint32_t rangeCount,
const VkImageSubresourceRange* pRanges) {
mImpl->vkCmdClearColorImage(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, image, imageLayout, pColor, rangeCount, pRanges);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdClearDepthStencilImage(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil,
uint32_t rangeCount, const VkImageSubresourceRange* pRanges) {
mImpl->vkCmdClearDepthStencilImage(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, image, imageLayout, pDepthStencil, rangeCount,
pRanges);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdClearAttachments(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount,
const VkClearRect* pRects) {
mImpl->vkCmdClearAttachments(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, attachmentCount, pAttachments, rectCount, pRects);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdResolveImage(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkImage srcImage,
VkImageLayout srcImageLayout, VkImage dstImage,
VkImageLayout dstImageLayout, uint32_t regionCount,
const VkImageResolve* pRegions) {
mImpl->vkCmdResolveImage(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount,
pRegions);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdSetEvent(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkEvent event,
VkPipelineStageFlags stageMask) {
mImpl->vkCmdSetEvent(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
event, stageMask);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdResetEvent(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkEvent event,
VkPipelineStageFlags stageMask) {
mImpl->vkCmdResetEvent(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
event, stageMask);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdWaitEvents(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask,
VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount,
const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount,
const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount,
const VkImageMemoryBarrier* pImageMemoryBarriers) {
mImpl->vkCmdWaitEvents(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount,
pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers,
imageMemoryBarrierCount, pImageMemoryBarriers);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdPipelineBarrier(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask,
VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount,
const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount,
const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount,
const VkImageMemoryBarrier* pImageMemoryBarriers) {
mImpl->vkCmdPipelineBarrier(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, srcStageMask, dstStageMask, dependencyFlags,
memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount,
pBufferMemoryBarriers, imageMemoryBarrierCount,
pImageMemoryBarriers);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdBeginQuery(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkQueryPool queryPool,
uint32_t query, VkQueryControlFlags flags) {
mImpl->vkCmdBeginQuery(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
queryPool, query, flags);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdEndQuery(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkQueryPool queryPool,
uint32_t query) {
mImpl->vkCmdEndQuery(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
queryPool, query);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdResetQueryPool(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkQueryPool queryPool,
uint32_t firstQuery, uint32_t queryCount) {
mImpl->vkCmdResetQueryPool(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
queryPool, firstQuery, queryCount);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdWriteTimestamp(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkPipelineStageFlagBits pipelineStage,
VkQueryPool queryPool, uint32_t query) {
mImpl->vkCmdWriteTimestamp(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
pipelineStage, queryPool, query);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdCopyQueryPoolResults(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer,
VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) {
mImpl->vkCmdCopyQueryPoolResults(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, queryPool, firstQuery, queryCount, dstBuffer,
dstOffset, stride, flags);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdPushConstants(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkPipelineLayout layout,
VkShaderStageFlags stageFlags, uint32_t offset,
uint32_t size, const void* pValues) {
mImpl->vkCmdPushConstants(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
layout, stageFlags, offset, size, pValues);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdBeginRenderPass(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkRenderPassBeginInfo* pRenderPassBegin,
VkSubpassContents contents) {
mImpl->vkCmdBeginRenderPass(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, pRenderPassBegin, contents);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdNextSubpass(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkSubpassContents contents) {
mImpl->vkCmdNextSubpass(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
contents);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdEndRenderPass(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer) {
mImpl->vkCmdEndRenderPass(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer);
}
#endif
#ifdef VK_VERSION_1_0
void VkDecoderSnapshot::vkCmdExecuteCommands(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
uint32_t commandBufferCount,
const VkCommandBuffer* pCommandBuffers) {
mImpl->vkCmdExecuteCommands(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, commandBufferCount, pCommandBuffers);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkEnumerateInstanceVersion(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result,
uint32_t* pApiVersion) {
mImpl->vkEnumerateInstanceVersion(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, pApiVersion);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkBindBufferMemory2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
uint32_t bindInfoCount,
const VkBindBufferMemoryInfo* pBindInfos) {
mImpl->vkBindBufferMemory2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, bindInfoCount, pBindInfos);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkBindImageMemory2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
uint32_t bindInfoCount,
const VkBindImageMemoryInfo* pBindInfos) {
mImpl->vkBindImageMemory2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, bindInfoCount, pBindInfos);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkGetDeviceGroupPeerMemoryFeatures(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device, uint32_t heapIndex,
uint32_t localDeviceIndex, uint32_t remoteDeviceIndex,
VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) {
mImpl->vkGetDeviceGroupPeerMemoryFeatures(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, heapIndex, localDeviceIndex,
remoteDeviceIndex, pPeerMemoryFeatures);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkCmdSetDeviceMask(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t deviceMask) {
mImpl->vkCmdSetDeviceMask(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
deviceMask);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkCmdDispatchBase(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t baseGroupX,
uint32_t baseGroupY, uint32_t baseGroupZ,
uint32_t groupCountX, uint32_t groupCountY,
uint32_t groupCountZ) {
mImpl->vkCmdDispatchBase(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY,
groupCountZ);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkEnumeratePhysicalDeviceGroups(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkInstance instance, uint32_t* pPhysicalDeviceGroupCount,
VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties) {
mImpl->vkEnumeratePhysicalDeviceGroups(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, instance, pPhysicalDeviceGroupCount,
pPhysicalDeviceGroupProperties);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkGetImageMemoryRequirements2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
const VkImageMemoryRequirementsInfo2* pInfo,
VkMemoryRequirements2* pMemoryRequirements) {
mImpl->vkGetImageMemoryRequirements2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, pInfo, pMemoryRequirements);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkGetBufferMemoryRequirements2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
const VkBufferMemoryRequirementsInfo2* pInfo,
VkMemoryRequirements2* pMemoryRequirements) {
mImpl->vkGetBufferMemoryRequirements2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, pInfo, pMemoryRequirements);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkGetImageSparseMemoryRequirements2(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount,
VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) {
mImpl->vkGetImageSparseMemoryRequirements2(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device, pInfo,
pSparseMemoryRequirementCount, pSparseMemoryRequirements);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkGetPhysicalDeviceFeatures2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceFeatures2* pFeatures) {
mImpl->vkGetPhysicalDeviceFeatures2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
physicalDevice, pFeatures);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkGetPhysicalDeviceProperties2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceProperties2* pProperties) {
mImpl->vkGetPhysicalDeviceProperties2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
physicalDevice, pProperties);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkGetPhysicalDeviceFormatProperties2(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
VkFormat format, VkFormatProperties2* pFormatProperties) {
mImpl->vkGetPhysicalDeviceFormatProperties2(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, physicalDevice, format,
pFormatProperties);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkGetPhysicalDeviceImageFormatProperties2(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
VkImageFormatProperties2* pImageFormatProperties) {
mImpl->vkGetPhysicalDeviceImageFormatProperties2(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result, physicalDevice,
pImageFormatInfo, pImageFormatProperties);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkGetPhysicalDeviceQueueFamilyProperties2(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties) {
mImpl->vkGetPhysicalDeviceQueueFamilyProperties2(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, physicalDevice,
pQueueFamilyPropertyCount, pQueueFamilyProperties);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkGetPhysicalDeviceMemoryProperties2(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
VkPhysicalDeviceMemoryProperties2* pMemoryProperties) {
mImpl->vkGetPhysicalDeviceMemoryProperties2(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, physicalDevice, pMemoryProperties);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkGetPhysicalDeviceSparseImageFormatProperties2(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount,
VkSparseImageFormatProperties2* pProperties) {
mImpl->vkGetPhysicalDeviceSparseImageFormatProperties2(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, physicalDevice, pFormatInfo,
pPropertyCount, pProperties);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkTrimCommandPool(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkCommandPool commandPool,
VkCommandPoolTrimFlags flags) {
mImpl->vkTrimCommandPool(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
commandPool, flags);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkGetDeviceQueue2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, const VkDeviceQueueInfo2* pQueueInfo,
VkQueue* pQueue) {
mImpl->vkGetDeviceQueue2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
pQueueInfo, pQueue);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkCreateSamplerYcbcrConversion(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator,
VkSamplerYcbcrConversion* pYcbcrConversion) {
mImpl->vkCreateSamplerYcbcrConversion(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pCreateInfo, pAllocator,
pYcbcrConversion);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkDestroySamplerYcbcrConversion(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
VkSamplerYcbcrConversion ycbcrConversion,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroySamplerYcbcrConversion(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, ycbcrConversion, pAllocator);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkCreateDescriptorUpdateTemplate(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) {
mImpl->vkCreateDescriptorUpdateTemplate(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pCreateInfo, pAllocator,
pDescriptorUpdateTemplate);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkDestroyDescriptorUpdateTemplate(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyDescriptorUpdateTemplate(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, descriptorUpdateTemplate, pAllocator);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkUpdateDescriptorSetWithTemplate(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate,
const void* pData) {
mImpl->vkUpdateDescriptorSetWithTemplate(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, descriptorSet, descriptorUpdateTemplate,
pData);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkGetPhysicalDeviceExternalBufferProperties(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
VkExternalBufferProperties* pExternalBufferProperties) {
mImpl->vkGetPhysicalDeviceExternalBufferProperties(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, physicalDevice, pExternalBufferInfo,
pExternalBufferProperties);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkGetPhysicalDeviceExternalFenceProperties(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
VkExternalFenceProperties* pExternalFenceProperties) {
mImpl->vkGetPhysicalDeviceExternalFenceProperties(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, physicalDevice,
pExternalFenceInfo, pExternalFenceProperties);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkGetPhysicalDeviceExternalSemaphoreProperties(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
VkExternalSemaphoreProperties* pExternalSemaphoreProperties) {
mImpl->vkGetPhysicalDeviceExternalSemaphoreProperties(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, physicalDevice,
pExternalSemaphoreInfo, pExternalSemaphoreProperties);
}
#endif
#ifdef VK_VERSION_1_1
void VkDecoderSnapshot::vkGetDescriptorSetLayoutSupport(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) {
mImpl->vkGetDescriptorSetLayoutSupport(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, pCreateInfo, pSupport);
}
#endif
#ifdef VK_VERSION_1_2
void VkDecoderSnapshot::vkCmdDrawIndirectCount(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset,
uint32_t maxDrawCount, uint32_t stride) {
mImpl->vkCmdDrawIndirectCount(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, buffer, offset, countBuffer, countBufferOffset,
maxDrawCount, stride);
}
#endif
#ifdef VK_VERSION_1_2
void VkDecoderSnapshot::vkCmdDrawIndexedIndirectCount(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset,
uint32_t maxDrawCount, uint32_t stride) {
mImpl->vkCmdDrawIndexedIndirectCount(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, buffer, offset, countBuffer,
countBufferOffset, maxDrawCount, stride);
}
#endif
#ifdef VK_VERSION_1_2
void VkDecoderSnapshot::vkCreateRenderPass2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkRenderPassCreateInfo2* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkRenderPass* pRenderPass) {
mImpl->vkCreateRenderPass2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pCreateInfo, pAllocator, pRenderPass);
}
#endif
#ifdef VK_VERSION_1_2
void VkDecoderSnapshot::vkCmdBeginRenderPass2(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo) {
mImpl->vkCmdBeginRenderPass2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, pRenderPassBegin, pSubpassBeginInfo);
}
#endif
#ifdef VK_VERSION_1_2
void VkDecoderSnapshot::vkCmdNextSubpass2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkSubpassBeginInfo* pSubpassBeginInfo,
const VkSubpassEndInfo* pSubpassEndInfo) {
mImpl->vkCmdNextSubpass2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
pSubpassBeginInfo, pSubpassEndInfo);
}
#endif
#ifdef VK_VERSION_1_2
void VkDecoderSnapshot::vkCmdEndRenderPass2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkSubpassEndInfo* pSubpassEndInfo) {
mImpl->vkCmdEndRenderPass2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
pSubpassEndInfo);
}
#endif
#ifdef VK_VERSION_1_2
void VkDecoderSnapshot::vkResetQueryPool(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkQueryPool queryPool,
uint32_t firstQuery, uint32_t queryCount) {
mImpl->vkResetQueryPool(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
queryPool, firstQuery, queryCount);
}
#endif
#ifdef VK_VERSION_1_2
void VkDecoderSnapshot::vkGetSemaphoreCounterValue(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result,
VkDevice device, VkSemaphore semaphore,
uint64_t* pValue) {
mImpl->vkGetSemaphoreCounterValue(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, semaphore, pValue);
}
#endif
#ifdef VK_VERSION_1_2
void VkDecoderSnapshot::vkWaitSemaphores(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout) {
mImpl->vkWaitSemaphores(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pWaitInfo, timeout);
}
#endif
#ifdef VK_VERSION_1_2
void VkDecoderSnapshot::vkSignalSemaphore(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkSemaphoreSignalInfo* pSignalInfo) {
mImpl->vkSignalSemaphore(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pSignalInfo);
}
#endif
#ifdef VK_VERSION_1_2
void VkDecoderSnapshot::vkGetBufferDeviceAddress(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkDeviceAddress input_result, VkDevice device,
const VkBufferDeviceAddressInfo* pInfo) {
mImpl->vkGetBufferDeviceAddress(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pInfo);
}
#endif
#ifdef VK_VERSION_1_2
void VkDecoderSnapshot::vkGetBufferOpaqueCaptureAddress(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
uint64_t input_result, VkDevice device,
const VkBufferDeviceAddressInfo* pInfo) {
mImpl->vkGetBufferOpaqueCaptureAddress(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pInfo);
}
#endif
#ifdef VK_VERSION_1_2
void VkDecoderSnapshot::vkGetDeviceMemoryOpaqueCaptureAddress(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, uint64_t input_result, VkDevice device,
const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo) {
mImpl->vkGetDeviceMemoryOpaqueCaptureAddress(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, input_result, device, pInfo);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkGetPhysicalDeviceToolProperties(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkPhysicalDevice physicalDevice, uint32_t* pToolCount,
VkPhysicalDeviceToolProperties* pToolProperties) {
mImpl->vkGetPhysicalDeviceToolProperties(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, physicalDevice, pToolCount,
pToolProperties);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCreatePrivateDataSlot(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator,
VkPrivateDataSlot* pPrivateDataSlot) {
mImpl->vkCreatePrivateDataSlot(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pCreateInfo, pAllocator, pPrivateDataSlot);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkDestroyPrivateDataSlot(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
VkPrivateDataSlot privateDataSlot,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyPrivateDataSlot(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
privateDataSlot, pAllocator);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkSetPrivateData(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
VkObjectType objectType, uint64_t objectHandle,
VkPrivateDataSlot privateDataSlot, uint64_t data) {
mImpl->vkSetPrivateData(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, objectType, objectHandle, privateDataSlot, data);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkGetPrivateData(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkObjectType objectType,
uint64_t objectHandle, VkPrivateDataSlot privateDataSlot,
uint64_t* pData) {
mImpl->vkGetPrivateData(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
objectType, objectHandle, privateDataSlot, pData);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdSetEvent2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkEvent event,
const VkDependencyInfo* pDependencyInfo) {
mImpl->vkCmdSetEvent2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
event, pDependencyInfo);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdResetEvent2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkEvent event,
VkPipelineStageFlags2 stageMask) {
mImpl->vkCmdResetEvent2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
event, stageMask);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdWaitEvents2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t eventCount,
const VkEvent* pEvents,
const VkDependencyInfo* pDependencyInfos) {
mImpl->vkCmdWaitEvents2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
eventCount, pEvents, pDependencyInfos);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdPipelineBarrier2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkDependencyInfo* pDependencyInfo) {
mImpl->vkCmdPipelineBarrier2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, pDependencyInfo);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdWriteTimestamp2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkPipelineStageFlags2 stage, VkQueryPool queryPool,
uint32_t query) {
mImpl->vkCmdWriteTimestamp2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, stage, queryPool, query);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkQueueSubmit2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkQueue queue, uint32_t submitCount,
const VkSubmitInfo2* pSubmits, VkFence fence) {
mImpl->vkQueueSubmit2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
queue, submitCount, pSubmits, fence);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdCopyBuffer2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkCopyBufferInfo2* pCopyBufferInfo) {
mImpl->vkCmdCopyBuffer2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
pCopyBufferInfo);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdCopyImage2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkCopyImageInfo2* pCopyImageInfo) {
mImpl->vkCmdCopyImage2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
pCopyImageInfo);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdCopyBufferToImage2(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo) {
mImpl->vkCmdCopyBufferToImage2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, pCopyBufferToImageInfo);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdCopyImageToBuffer2(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo) {
mImpl->vkCmdCopyImageToBuffer2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, pCopyImageToBufferInfo);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdBlitImage2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkBlitImageInfo2* pBlitImageInfo) {
mImpl->vkCmdBlitImage2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
pBlitImageInfo);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdResolveImage2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkResolveImageInfo2* pResolveImageInfo) {
mImpl->vkCmdResolveImage2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
pResolveImageInfo);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdBeginRendering(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkRenderingInfo* pRenderingInfo) {
mImpl->vkCmdBeginRendering(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
pRenderingInfo);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdEndRendering(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer) {
mImpl->vkCmdEndRendering(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdSetCullMode(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) {
mImpl->vkCmdSetCullMode(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
cullMode);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdSetFrontFace(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkFrontFace frontFace) {
mImpl->vkCmdSetFrontFace(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
frontFace);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdSetPrimitiveTopology(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkPrimitiveTopology primitiveTopology) {
mImpl->vkCmdSetPrimitiveTopology(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, primitiveTopology);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdSetViewportWithCount(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
uint32_t viewportCount, const VkViewport* pViewports) {
mImpl->vkCmdSetViewportWithCount(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, viewportCount, pViewports);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdSetScissorWithCount(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
uint32_t scissorCount, const VkRect2D* pScissors) {
mImpl->vkCmdSetScissorWithCount(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, scissorCount, pScissors);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdBindVertexBuffers2(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers,
const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) {
mImpl->vkCmdBindVertexBuffers2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets,
pSizes, pStrides);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdSetDepthTestEnable(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkBool32 depthTestEnable) {
mImpl->vkCmdSetDepthTestEnable(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, depthTestEnable);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdSetDepthWriteEnable(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkBool32 depthWriteEnable) {
mImpl->vkCmdSetDepthWriteEnable(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, depthWriteEnable);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdSetDepthCompareOp(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkCompareOp depthCompareOp) {
mImpl->vkCmdSetDepthCompareOp(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, depthCompareOp);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdSetDepthBoundsTestEnable(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkBool32 depthBoundsTestEnable) {
mImpl->vkCmdSetDepthBoundsTestEnable(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, depthBoundsTestEnable);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdSetStencilTestEnable(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkBool32 stencilTestEnable) {
mImpl->vkCmdSetStencilTestEnable(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, stencilTestEnable);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdSetStencilOp(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkStencilFaceFlags faceMask, VkStencilOp failOp,
VkStencilOp passOp, VkStencilOp depthFailOp,
VkCompareOp compareOp) {
mImpl->vkCmdSetStencilOp(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
faceMask, failOp, passOp, depthFailOp, compareOp);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdSetRasterizerDiscardEnable(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkBool32 rasterizerDiscardEnable) {
mImpl->vkCmdSetRasterizerDiscardEnable(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, rasterizerDiscardEnable);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdSetDepthBiasEnable(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkBool32 depthBiasEnable) {
mImpl->vkCmdSetDepthBiasEnable(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, depthBiasEnable);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkCmdSetPrimitiveRestartEnable(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkBool32 primitiveRestartEnable) {
mImpl->vkCmdSetPrimitiveRestartEnable(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, primitiveRestartEnable);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkGetDeviceBufferMemoryRequirements(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) {
mImpl->vkGetDeviceBufferMemoryRequirements(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device, pInfo, pMemoryRequirements);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkGetDeviceImageMemoryRequirements(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) {
mImpl->vkGetDeviceImageMemoryRequirements(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, pInfo, pMemoryRequirements);
}
#endif
#ifdef VK_VERSION_1_3
void VkDecoderSnapshot::vkGetDeviceImageSparseMemoryRequirements(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount,
VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) {
mImpl->vkGetDeviceImageSparseMemoryRequirements(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device, pInfo,
pSparseMemoryRequirementCount, pSparseMemoryRequirements);
}
#endif
#ifdef VK_VERSION_1_4
void VkDecoderSnapshot::vkCmdSetLineStipple(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
uint32_t lineStippleFactor,
uint16_t lineStipplePattern) {
mImpl->vkCmdSetLineStipple(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
lineStippleFactor, lineStipplePattern);
}
#endif
#ifdef VK_VERSION_1_4
void VkDecoderSnapshot::vkMapMemory2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkMemoryMapInfo* pMemoryMapInfo, void** ppData) {
mImpl->vkMapMemory2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result, device,
pMemoryMapInfo, ppData);
}
#endif
#ifdef VK_VERSION_1_4
void VkDecoderSnapshot::vkUnmapMemory2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkMemoryUnmapInfo* pMemoryUnmapInfo) {
mImpl->vkUnmapMemory2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pMemoryUnmapInfo);
}
#endif
#ifdef VK_VERSION_1_4
void VkDecoderSnapshot::vkCmdBindIndexBuffer2(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType) {
mImpl->vkCmdBindIndexBuffer2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, buffer, offset, size, indexType);
}
#endif
#ifdef VK_VERSION_1_4
void VkDecoderSnapshot::vkGetRenderingAreaGranularity(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
const VkRenderingAreaInfo* pRenderingAreaInfo,
VkExtent2D* pGranularity) {
mImpl->vkGetRenderingAreaGranularity(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, pRenderingAreaInfo, pGranularity);
}
#endif
#ifdef VK_VERSION_1_4
void VkDecoderSnapshot::vkGetDeviceImageSubresourceLayout(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
const VkDeviceImageSubresourceInfo* pInfo,
VkSubresourceLayout2* pLayout) {
mImpl->vkGetDeviceImageSubresourceLayout(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, pInfo, pLayout);
}
#endif
#ifdef VK_VERSION_1_4
void VkDecoderSnapshot::vkGetImageSubresourceLayout2(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device, VkImage image,
const VkImageSubresource2* pSubresource, VkSubresourceLayout2* pLayout) {
mImpl->vkGetImageSubresourceLayout2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, image, pSubresource, pLayout);
}
#endif
#ifdef VK_VERSION_1_4
void VkDecoderSnapshot::vkCmdPushDescriptorSet(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set,
uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) {
mImpl->vkCmdPushDescriptorSet(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, pipelineBindPoint, layout, set,
descriptorWriteCount, pDescriptorWrites);
}
#endif
#ifdef VK_VERSION_1_4
void VkDecoderSnapshot::vkCmdPushDescriptorSetWithTemplate(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set,
const void* pData) {
mImpl->vkCmdPushDescriptorSetWithTemplate(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, descriptorUpdateTemplate, layout, set,
pData);
}
#endif
#ifdef VK_VERSION_1_4
void VkDecoderSnapshot::vkCmdSetRenderingAttachmentLocations(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const VkRenderingAttachmentLocationInfo* pLocationInfo) {
mImpl->vkCmdSetRenderingAttachmentLocations(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, commandBuffer, pLocationInfo);
}
#endif
#ifdef VK_VERSION_1_4
void VkDecoderSnapshot::vkCmdSetRenderingInputAttachmentIndices(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo) {
mImpl->vkCmdSetRenderingInputAttachmentIndices(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, commandBuffer,
pInputAttachmentIndexInfo);
}
#endif
#ifdef VK_VERSION_1_4
void VkDecoderSnapshot::vkCmdBindDescriptorSets2(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo) {
mImpl->vkCmdBindDescriptorSets2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, pBindDescriptorSetsInfo);
}
#endif
#ifdef VK_VERSION_1_4
void VkDecoderSnapshot::vkCmdPushConstants2(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkPushConstantsInfo* pPushConstantsInfo) {
mImpl->vkCmdPushConstants2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
pPushConstantsInfo);
}
#endif
#ifdef VK_VERSION_1_4
void VkDecoderSnapshot::vkCmdPushDescriptorSet2(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const VkPushDescriptorSetInfo* pPushDescriptorSetInfo) {
mImpl->vkCmdPushDescriptorSet2(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, pPushDescriptorSetInfo);
}
#endif
#ifdef VK_VERSION_1_4
void VkDecoderSnapshot::vkCmdPushDescriptorSetWithTemplate2(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const VkPushDescriptorSetWithTemplateInfo* pPushDescriptorSetWithTemplateInfo) {
mImpl->vkCmdPushDescriptorSetWithTemplate2(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, commandBuffer,
pPushDescriptorSetWithTemplateInfo);
}
#endif
#ifdef VK_VERSION_1_4
void VkDecoderSnapshot::vkCopyMemoryToImage(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo) {
mImpl->vkCopyMemoryToImage(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pCopyMemoryToImageInfo);
}
#endif
#ifdef VK_VERSION_1_4
void VkDecoderSnapshot::vkCopyImageToMemory(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo) {
mImpl->vkCopyImageToMemory(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pCopyImageToMemoryInfo);
}
#endif
#ifdef VK_VERSION_1_4
void VkDecoderSnapshot::vkCopyImageToImage(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkCopyImageToImageInfo* pCopyImageToImageInfo) {
mImpl->vkCopyImageToImage(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pCopyImageToImageInfo);
}
#endif
#ifdef VK_VERSION_1_4
void VkDecoderSnapshot::vkTransitionImageLayout(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
uint32_t transitionCount, const VkHostImageLayoutTransitionInfo* pTransitions) {
mImpl->vkTransitionImageLayout(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, transitionCount, pTransitions);
}
#endif
#ifdef VK_KHR_swapchain
void VkDecoderSnapshot::vkCreateSwapchainKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkSwapchainCreateInfoKHR* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSwapchainKHR* pSwapchain) {
mImpl->vkCreateSwapchainKHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pCreateInfo, pAllocator, pSwapchain);
}
#endif
#ifdef VK_KHR_swapchain
void VkDecoderSnapshot::vkDestroySwapchainKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
VkSwapchainKHR swapchain,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroySwapchainKHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
swapchain, pAllocator);
}
#endif
#ifdef VK_KHR_swapchain
void VkDecoderSnapshot::vkGetSwapchainImagesKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) {
mImpl->vkGetSwapchainImagesKHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, swapchain, pSwapchainImageCount,
pSwapchainImages);
}
#endif
#ifdef VK_KHR_swapchain
void VkDecoderSnapshot::vkAcquireNextImageKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result,
VkDevice device, VkSwapchainKHR swapchain,
uint64_t timeout, VkSemaphore semaphore,
VkFence fence, uint32_t* pImageIndex) {
mImpl->vkAcquireNextImageKHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, swapchain, timeout, semaphore, fence,
pImageIndex);
}
#endif
#ifdef VK_KHR_swapchain
void VkDecoderSnapshot::vkQueuePresentKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkQueue queue,
const VkPresentInfoKHR* pPresentInfo) {
mImpl->vkQueuePresentKHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
queue, pPresentInfo);
}
#endif
#ifdef VK_KHR_swapchain
void VkDecoderSnapshot::vkGetDeviceGroupPresentCapabilitiesKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) {
mImpl->vkGetDeviceGroupPresentCapabilitiesKHR(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, input_result, device,
pDeviceGroupPresentCapabilities);
}
#endif
#ifdef VK_KHR_swapchain
void VkDecoderSnapshot::vkGetDeviceGroupSurfacePresentModesKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) {
mImpl->vkGetDeviceGroupSurfacePresentModesKHR(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, input_result, device, surface,
pModes);
}
#endif
#ifdef VK_KHR_swapchain
void VkDecoderSnapshot::vkGetPhysicalDevicePresentRectanglesKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects) {
mImpl->vkGetPhysicalDevicePresentRectanglesKHR(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, input_result, physicalDevice,
surface, pRectCount, pRects);
}
#endif
#ifdef VK_KHR_swapchain
void VkDecoderSnapshot::vkAcquireNextImage2KHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex) {
mImpl->vkAcquireNextImage2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pAcquireInfo, pImageIndex);
}
#endif
#ifdef VK_KHR_dynamic_rendering
void VkDecoderSnapshot::vkCmdBeginRenderingKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkRenderingInfo* pRenderingInfo) {
mImpl->vkCmdBeginRenderingKHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, pRenderingInfo);
}
#endif
#ifdef VK_KHR_dynamic_rendering
void VkDecoderSnapshot::vkCmdEndRenderingKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer) {
mImpl->vkCmdEndRenderingKHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer);
}
#endif
#ifdef VK_KHR_get_physical_device_properties2
void VkDecoderSnapshot::vkGetPhysicalDeviceFeatures2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceFeatures2* pFeatures) {
mImpl->vkGetPhysicalDeviceFeatures2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
physicalDevice, pFeatures);
}
#endif
#ifdef VK_KHR_get_physical_device_properties2
void VkDecoderSnapshot::vkGetPhysicalDeviceProperties2KHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
VkPhysicalDeviceProperties2* pProperties) {
mImpl->vkGetPhysicalDeviceProperties2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
physicalDevice, pProperties);
}
#endif
#ifdef VK_KHR_get_physical_device_properties2
void VkDecoderSnapshot::vkGetPhysicalDeviceFormatProperties2KHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
VkFormat format, VkFormatProperties2* pFormatProperties) {
mImpl->vkGetPhysicalDeviceFormatProperties2KHR(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, physicalDevice, format,
pFormatProperties);
}
#endif
#ifdef VK_KHR_get_physical_device_properties2
void VkDecoderSnapshot::vkGetPhysicalDeviceImageFormatProperties2KHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
VkImageFormatProperties2* pImageFormatProperties) {
mImpl->vkGetPhysicalDeviceImageFormatProperties2KHR(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result, physicalDevice,
pImageFormatInfo, pImageFormatProperties);
}
#endif
#ifdef VK_KHR_get_physical_device_properties2
void VkDecoderSnapshot::vkGetPhysicalDeviceQueueFamilyProperties2KHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties) {
mImpl->vkGetPhysicalDeviceQueueFamilyProperties2KHR(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, physicalDevice,
pQueueFamilyPropertyCount, pQueueFamilyProperties);
}
#endif
#ifdef VK_KHR_get_physical_device_properties2
void VkDecoderSnapshot::vkGetPhysicalDeviceMemoryProperties2KHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
VkPhysicalDeviceMemoryProperties2* pMemoryProperties) {
mImpl->vkGetPhysicalDeviceMemoryProperties2KHR(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, physicalDevice, pMemoryProperties);
}
#endif
#ifdef VK_KHR_get_physical_device_properties2
void VkDecoderSnapshot::vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount,
VkSparseImageFormatProperties2* pProperties) {
mImpl->vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, physicalDevice, pFormatInfo,
pPropertyCount, pProperties);
}
#endif
#ifdef VK_KHR_maintenance1
void VkDecoderSnapshot::vkTrimCommandPoolKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkCommandPool commandPool,
VkCommandPoolTrimFlags flags) {
mImpl->vkTrimCommandPoolKHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
commandPool, flags);
}
#endif
#ifdef VK_KHR_external_memory_capabilities
void VkDecoderSnapshot::vkGetPhysicalDeviceExternalBufferPropertiesKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
VkExternalBufferProperties* pExternalBufferProperties) {
mImpl->vkGetPhysicalDeviceExternalBufferPropertiesKHR(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, physicalDevice, pExternalBufferInfo,
pExternalBufferProperties);
}
#endif
#ifdef VK_KHR_external_semaphore_capabilities
void VkDecoderSnapshot::vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
VkExternalSemaphoreProperties* pExternalSemaphoreProperties) {
mImpl->vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, physicalDevice,
pExternalSemaphoreInfo, pExternalSemaphoreProperties);
}
#endif
#ifdef VK_KHR_external_semaphore_fd
void VkDecoderSnapshot::vkImportSemaphoreFdKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) {
mImpl->vkImportSemaphoreFdKHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pImportSemaphoreFdInfo);
}
#endif
#ifdef VK_KHR_external_semaphore_fd
void VkDecoderSnapshot::vkGetSemaphoreFdKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) {
mImpl->vkGetSemaphoreFdKHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pGetFdInfo, pFd);
}
#endif
#ifdef VK_KHR_descriptor_update_template
void VkDecoderSnapshot::vkCreateDescriptorUpdateTemplateKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) {
mImpl->vkCreateDescriptorUpdateTemplateKHR(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, input_result, device, pCreateInfo,
pAllocator, pDescriptorUpdateTemplate);
}
#endif
#ifdef VK_KHR_descriptor_update_template
void VkDecoderSnapshot::vkDestroyDescriptorUpdateTemplateKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyDescriptorUpdateTemplateKHR(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, device, descriptorUpdateTemplate,
pAllocator);
}
#endif
#ifdef VK_KHR_descriptor_update_template
void VkDecoderSnapshot::vkUpdateDescriptorSetWithTemplateKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate,
const void* pData) {
mImpl->vkUpdateDescriptorSetWithTemplateKHR(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, device, descriptorSet,
descriptorUpdateTemplate, pData);
}
#endif
#ifdef VK_KHR_create_renderpass2
void VkDecoderSnapshot::vkCreateRenderPass2KHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator,
VkRenderPass* pRenderPass) {
mImpl->vkCreateRenderPass2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pCreateInfo, pAllocator, pRenderPass);
}
#endif
#ifdef VK_KHR_create_renderpass2
void VkDecoderSnapshot::vkCmdBeginRenderPass2KHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo) {
mImpl->vkCmdBeginRenderPass2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, pRenderPassBegin, pSubpassBeginInfo);
}
#endif
#ifdef VK_KHR_create_renderpass2
void VkDecoderSnapshot::vkCmdNextSubpass2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkSubpassBeginInfo* pSubpassBeginInfo,
const VkSubpassEndInfo* pSubpassEndInfo) {
mImpl->vkCmdNextSubpass2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, pSubpassBeginInfo, pSubpassEndInfo);
}
#endif
#ifdef VK_KHR_create_renderpass2
void VkDecoderSnapshot::vkCmdEndRenderPass2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkSubpassEndInfo* pSubpassEndInfo) {
mImpl->vkCmdEndRenderPass2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, pSubpassEndInfo);
}
#endif
#ifdef VK_KHR_external_fence_capabilities
void VkDecoderSnapshot::vkGetPhysicalDeviceExternalFencePropertiesKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
VkExternalFenceProperties* pExternalFenceProperties) {
mImpl->vkGetPhysicalDeviceExternalFencePropertiesKHR(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, physicalDevice, pExternalFenceInfo,
pExternalFenceProperties);
}
#endif
#ifdef VK_KHR_external_fence_fd
void VkDecoderSnapshot::vkImportFenceFdKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkImportFenceFdInfoKHR* pImportFenceFdInfo) {
mImpl->vkImportFenceFdKHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pImportFenceFdInfo);
}
#endif
#ifdef VK_KHR_external_fence_fd
void VkDecoderSnapshot::vkGetFenceFdKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) {
mImpl->vkGetFenceFdKHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, pGetFdInfo, pFd);
}
#endif
#ifdef VK_KHR_get_memory_requirements2
void VkDecoderSnapshot::vkGetImageMemoryRequirements2KHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) {
mImpl->vkGetImageMemoryRequirements2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, pInfo, pMemoryRequirements);
}
#endif
#ifdef VK_KHR_get_memory_requirements2
void VkDecoderSnapshot::vkGetBufferMemoryRequirements2KHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) {
mImpl->vkGetBufferMemoryRequirements2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, pInfo, pMemoryRequirements);
}
#endif
#ifdef VK_KHR_get_memory_requirements2
void VkDecoderSnapshot::vkGetImageSparseMemoryRequirements2KHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount,
VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) {
mImpl->vkGetImageSparseMemoryRequirements2KHR(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device, pInfo,
pSparseMemoryRequirementCount, pSparseMemoryRequirements);
}
#endif
#ifdef VK_KHR_sampler_ycbcr_conversion
void VkDecoderSnapshot::vkCreateSamplerYcbcrConversionKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator,
VkSamplerYcbcrConversion* pYcbcrConversion) {
mImpl->vkCreateSamplerYcbcrConversionKHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pCreateInfo, pAllocator,
pYcbcrConversion);
}
#endif
#ifdef VK_KHR_sampler_ycbcr_conversion
void VkDecoderSnapshot::vkDestroySamplerYcbcrConversionKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroySamplerYcbcrConversionKHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, ycbcrConversion, pAllocator);
}
#endif
#ifdef VK_KHR_bind_memory2
void VkDecoderSnapshot::vkBindBufferMemory2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result,
VkDevice device, uint32_t bindInfoCount,
const VkBindBufferMemoryInfo* pBindInfos) {
mImpl->vkBindBufferMemory2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, bindInfoCount, pBindInfos);
}
#endif
#ifdef VK_KHR_bind_memory2
void VkDecoderSnapshot::vkBindImageMemory2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result,
VkDevice device, uint32_t bindInfoCount,
const VkBindImageMemoryInfo* pBindInfos) {
mImpl->vkBindImageMemory2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, bindInfoCount, pBindInfos);
}
#endif
#ifdef VK_KHR_maintenance3
void VkDecoderSnapshot::vkGetDescriptorSetLayoutSupportKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) {
mImpl->vkGetDescriptorSetLayoutSupportKHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, pCreateInfo, pSupport);
}
#endif
#ifdef VK_KHR_buffer_device_address
void VkDecoderSnapshot::vkGetBufferDeviceAddressKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkDeviceAddress input_result, VkDevice device,
const VkBufferDeviceAddressInfo* pInfo) {
mImpl->vkGetBufferDeviceAddressKHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pInfo);
}
#endif
#ifdef VK_KHR_buffer_device_address
void VkDecoderSnapshot::vkGetBufferOpaqueCaptureAddressKHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
uint64_t input_result, VkDevice device,
const VkBufferDeviceAddressInfo* pInfo) {
mImpl->vkGetBufferOpaqueCaptureAddressKHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pInfo);
}
#endif
#ifdef VK_KHR_buffer_device_address
void VkDecoderSnapshot::vkGetDeviceMemoryOpaqueCaptureAddressKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, uint64_t input_result, VkDevice device,
const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo) {
mImpl->vkGetDeviceMemoryOpaqueCaptureAddressKHR(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, input_result, device, pInfo);
}
#endif
#ifdef VK_KHR_pipeline_executable_properties
void VkDecoderSnapshot::vkGetPipelineExecutablePropertiesKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount,
VkPipelineExecutablePropertiesKHR* pProperties) {
mImpl->vkGetPipelineExecutablePropertiesKHR(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, input_result, device,
pPipelineInfo, pExecutableCount, pProperties);
}
#endif
#ifdef VK_KHR_pipeline_executable_properties
void VkDecoderSnapshot::vkGetPipelineExecutableStatisticsKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount,
VkPipelineExecutableStatisticKHR* pStatistics) {
mImpl->vkGetPipelineExecutableStatisticsKHR(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, input_result, device,
pExecutableInfo, pStatisticCount, pStatistics);
}
#endif
#ifdef VK_KHR_pipeline_executable_properties
void VkDecoderSnapshot::vkGetPipelineExecutableInternalRepresentationsKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount,
VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) {
mImpl->vkGetPipelineExecutableInternalRepresentationsKHR(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result, device,
pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations);
}
#endif
#ifdef VK_KHR_synchronization2
void VkDecoderSnapshot::vkCmdSetEvent2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkEvent event,
const VkDependencyInfo* pDependencyInfo) {
mImpl->vkCmdSetEvent2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
event, pDependencyInfo);
}
#endif
#ifdef VK_KHR_synchronization2
void VkDecoderSnapshot::vkCmdResetEvent2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkEvent event,
VkPipelineStageFlags2 stageMask) {
mImpl->vkCmdResetEvent2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
event, stageMask);
}
#endif
#ifdef VK_KHR_synchronization2
void VkDecoderSnapshot::vkCmdWaitEvents2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, uint32_t eventCount,
const VkEvent* pEvents,
const VkDependencyInfo* pDependencyInfos) {
mImpl->vkCmdWaitEvents2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
eventCount, pEvents, pDependencyInfos);
}
#endif
#ifdef VK_KHR_synchronization2
void VkDecoderSnapshot::vkCmdPipelineBarrier2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkDependencyInfo* pDependencyInfo) {
mImpl->vkCmdPipelineBarrier2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, pDependencyInfo);
}
#endif
#ifdef VK_KHR_synchronization2
void VkDecoderSnapshot::vkCmdWriteTimestamp2KHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query) {
mImpl->vkCmdWriteTimestamp2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, stage, queryPool, query);
}
#endif
#ifdef VK_KHR_synchronization2
void VkDecoderSnapshot::vkQueueSubmit2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkQueue queue,
uint32_t submitCount, const VkSubmitInfo2* pSubmits,
VkFence fence) {
mImpl->vkQueueSubmit2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
queue, submitCount, pSubmits, fence);
}
#endif
#ifdef VK_KHR_copy_commands2
void VkDecoderSnapshot::vkCmdCopyBuffer2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkCopyBufferInfo2* pCopyBufferInfo) {
mImpl->vkCmdCopyBuffer2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
pCopyBufferInfo);
}
#endif
#ifdef VK_KHR_copy_commands2
void VkDecoderSnapshot::vkCmdCopyImage2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkCopyImageInfo2* pCopyImageInfo) {
mImpl->vkCmdCopyImage2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
pCopyImageInfo);
}
#endif
#ifdef VK_KHR_copy_commands2
void VkDecoderSnapshot::vkCmdCopyBufferToImage2KHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo) {
mImpl->vkCmdCopyBufferToImage2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, pCopyBufferToImageInfo);
}
#endif
#ifdef VK_KHR_copy_commands2
void VkDecoderSnapshot::vkCmdCopyImageToBuffer2KHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo) {
mImpl->vkCmdCopyImageToBuffer2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, pCopyImageToBufferInfo);
}
#endif
#ifdef VK_KHR_copy_commands2
void VkDecoderSnapshot::vkCmdBlitImage2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkBlitImageInfo2* pBlitImageInfo) {
mImpl->vkCmdBlitImage2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
pBlitImageInfo);
}
#endif
#ifdef VK_KHR_copy_commands2
void VkDecoderSnapshot::vkCmdResolveImage2KHR(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkResolveImageInfo2* pResolveImageInfo) {
mImpl->vkCmdResolveImage2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, pResolveImageInfo);
}
#endif
#ifdef VK_KHR_maintenance4
void VkDecoderSnapshot::vkGetDeviceBufferMemoryRequirementsKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) {
mImpl->vkGetDeviceBufferMemoryRequirementsKHR(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device, pInfo, pMemoryRequirements);
}
#endif
#ifdef VK_KHR_maintenance4
void VkDecoderSnapshot::vkGetDeviceImageMemoryRequirementsKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) {
mImpl->vkGetDeviceImageMemoryRequirementsKHR(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device, pInfo, pMemoryRequirements);
}
#endif
#ifdef VK_KHR_maintenance4
void VkDecoderSnapshot::vkGetDeviceImageSparseMemoryRequirementsKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount,
VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) {
mImpl->vkGetDeviceImageSparseMemoryRequirementsKHR(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device, pInfo,
pSparseMemoryRequirementCount, pSparseMemoryRequirements);
}
#endif
#ifdef VK_KHR_maintenance5
void VkDecoderSnapshot::vkCmdBindIndexBuffer2KHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType) {
mImpl->vkCmdBindIndexBuffer2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, buffer, offset, size, indexType);
}
#endif
#ifdef VK_KHR_maintenance5
void VkDecoderSnapshot::vkGetRenderingAreaGranularityKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
const VkRenderingAreaInfo* pRenderingAreaInfo, VkExtent2D* pGranularity) {
mImpl->vkGetRenderingAreaGranularityKHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, pRenderingAreaInfo, pGranularity);
}
#endif
#ifdef VK_KHR_maintenance5
void VkDecoderSnapshot::vkGetDeviceImageSubresourceLayoutKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
const VkDeviceImageSubresourceInfo* pInfo, VkSubresourceLayout2* pLayout) {
mImpl->vkGetDeviceImageSubresourceLayoutKHR(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, device, pInfo, pLayout);
}
#endif
#ifdef VK_KHR_maintenance5
void VkDecoderSnapshot::vkGetImageSubresourceLayout2KHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device, VkImage image,
const VkImageSubresource2* pSubresource, VkSubresourceLayout2* pLayout) {
mImpl->vkGetImageSubresourceLayout2KHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, image, pSubresource, pLayout);
}
#endif
#ifdef VK_KHR_line_rasterization
void VkDecoderSnapshot::vkCmdSetLineStippleKHR(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
uint32_t lineStippleFactor, uint16_t lineStipplePattern) {
mImpl->vkCmdSetLineStippleKHR(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, lineStippleFactor, lineStipplePattern);
}
#endif
#ifdef VK_ANDROID_native_buffer
void VkDecoderSnapshot::vkGetSwapchainGrallocUsageANDROID(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage) {
mImpl->vkGetSwapchainGrallocUsageANDROID(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, format, imageUsage,
grallocUsage);
}
#endif
#ifdef VK_ANDROID_native_buffer
void VkDecoderSnapshot::vkAcquireImageANDROID(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result,
VkDevice device, VkImage image, int nativeFenceFd,
VkSemaphore semaphore, VkFence fence) {
mImpl->vkAcquireImageANDROID(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, image, nativeFenceFd, semaphore, fence);
}
#endif
#ifdef VK_ANDROID_native_buffer
void VkDecoderSnapshot::vkQueueSignalReleaseImageANDROID(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkQueue queue,
uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image,
int* pNativeFenceFd) {
mImpl->vkQueueSignalReleaseImageANDROID(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, queue, waitSemaphoreCount,
pWaitSemaphores, image, pNativeFenceFd);
}
#endif
#ifdef VK_ANDROID_native_buffer
void VkDecoderSnapshot::vkGetSwapchainGrallocUsage2ANDROID(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
VkFormat format, VkImageUsageFlags imageUsage,
VkSwapchainImageUsageFlagsANDROID swapchainImageUsage, uint64_t* grallocConsumerUsage,
uint64_t* grallocProducerUsage) {
mImpl->vkGetSwapchainGrallocUsage2ANDROID(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result, device, format,
imageUsage, swapchainImageUsage, grallocConsumerUsage, grallocProducerUsage);
}
#endif
#ifdef VK_EXT_debug_report
void VkDecoderSnapshot::vkCreateDebugReportCallbackEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback) {
mImpl->vkCreateDebugReportCallbackEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, instance, pCreateInfo, pAllocator,
pCallback);
}
#endif
#ifdef VK_EXT_debug_report
void VkDecoderSnapshot::vkDestroyDebugReportCallbackEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkInstance instance,
VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyDebugReportCallbackEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
instance, callback, pAllocator);
}
#endif
#ifdef VK_EXT_debug_report
void VkDecoderSnapshot::vkDebugReportMessageEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkInstance instance,
VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object,
size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage) {
mImpl->vkDebugReportMessageEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, instance,
flags, objectType, object, location, messageCode, pLayerPrefix,
pMessage);
}
#endif
#ifdef VK_EXT_transform_feedback
void VkDecoderSnapshot::vkCmdBindTransformFeedbackBuffersEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers,
const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes) {
mImpl->vkCmdBindTransformFeedbackBuffersEXT(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, commandBuffer, firstBinding,
bindingCount, pBuffers, pOffsets, pSizes);
}
#endif
#ifdef VK_EXT_transform_feedback
void VkDecoderSnapshot::vkCmdBeginTransformFeedbackEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers,
const VkDeviceSize* pCounterBufferOffsets) {
mImpl->vkCmdBeginTransformFeedbackEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, firstCounterBuffer, counterBufferCount,
pCounterBuffers, pCounterBufferOffsets);
}
#endif
#ifdef VK_EXT_transform_feedback
void VkDecoderSnapshot::vkCmdEndTransformFeedbackEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers,
const VkDeviceSize* pCounterBufferOffsets) {
mImpl->vkCmdEndTransformFeedbackEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, firstCounterBuffer, counterBufferCount,
pCounterBuffers, pCounterBufferOffsets);
}
#endif
#ifdef VK_EXT_transform_feedback
void VkDecoderSnapshot::vkCmdBeginQueryIndexedEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index) {
mImpl->vkCmdBeginQueryIndexedEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, queryPool, query, flags, index);
}
#endif
#ifdef VK_EXT_transform_feedback
void VkDecoderSnapshot::vkCmdEndQueryIndexedEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
VkQueryPool queryPool, uint32_t query, uint32_t index) {
mImpl->vkCmdEndQueryIndexedEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, queryPool, query, index);
}
#endif
#ifdef VK_EXT_transform_feedback
void VkDecoderSnapshot::vkCmdDrawIndirectByteCountEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer,
VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride) {
mImpl->vkCmdDrawIndirectByteCountEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, instanceCount, firstInstance, counterBuffer,
counterBufferOffset, counterOffset, vertexStride);
}
#endif
#ifdef VK_EXT_debug_utils
void VkDecoderSnapshot::vkSetDebugUtilsObjectNameEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkDebugUtilsObjectNameInfoEXT* pNameInfo) {
mImpl->vkSetDebugUtilsObjectNameEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pNameInfo);
}
#endif
#ifdef VK_EXT_debug_utils
void VkDecoderSnapshot::vkSetDebugUtilsObjectTagEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result,
VkDevice device,
const VkDebugUtilsObjectTagInfoEXT* pTagInfo) {
mImpl->vkSetDebugUtilsObjectTagEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pTagInfo);
}
#endif
#ifdef VK_EXT_debug_utils
void VkDecoderSnapshot::vkQueueBeginDebugUtilsLabelEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkQueue queue,
const VkDebugUtilsLabelEXT* pLabelInfo) {
mImpl->vkQueueBeginDebugUtilsLabelEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
queue, pLabelInfo);
}
#endif
#ifdef VK_EXT_debug_utils
void VkDecoderSnapshot::vkQueueEndDebugUtilsLabelEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkQueue queue) {
mImpl->vkQueueEndDebugUtilsLabelEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
queue);
}
#endif
#ifdef VK_EXT_debug_utils
void VkDecoderSnapshot::vkQueueInsertDebugUtilsLabelEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkQueue queue,
const VkDebugUtilsLabelEXT* pLabelInfo) {
mImpl->vkQueueInsertDebugUtilsLabelEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
queue, pLabelInfo);
}
#endif
#ifdef VK_EXT_debug_utils
void VkDecoderSnapshot::vkCmdBeginDebugUtilsLabelEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkDebugUtilsLabelEXT* pLabelInfo) {
mImpl->vkCmdBeginDebugUtilsLabelEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, pLabelInfo);
}
#endif
#ifdef VK_EXT_debug_utils
void VkDecoderSnapshot::vkCmdEndDebugUtilsLabelEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer) {
mImpl->vkCmdEndDebugUtilsLabelEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer);
}
#endif
#ifdef VK_EXT_debug_utils
void VkDecoderSnapshot::vkCmdInsertDebugUtilsLabelEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
const VkDebugUtilsLabelEXT* pLabelInfo) {
mImpl->vkCmdInsertDebugUtilsLabelEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, pLabelInfo);
}
#endif
#ifdef VK_EXT_debug_utils
void VkDecoderSnapshot::vkCreateDebugUtilsMessengerEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger) {
mImpl->vkCreateDebugUtilsMessengerEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, instance, pCreateInfo, pAllocator,
pMessenger);
}
#endif
#ifdef VK_EXT_debug_utils
void VkDecoderSnapshot::vkDestroyDebugUtilsMessengerEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkInstance instance,
VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyDebugUtilsMessengerEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
instance, messenger, pAllocator);
}
#endif
#ifdef VK_EXT_debug_utils
void VkDecoderSnapshot::vkSubmitDebugUtilsMessageEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkInstance instance,
VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
VkDebugUtilsMessageTypeFlagsEXT messageTypes,
const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData) {
mImpl->vkSubmitDebugUtilsMessageEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
instance, messageSeverity, messageTypes, pCallbackData);
}
#endif
#ifdef VK_EXT_image_drm_format_modifier
void VkDecoderSnapshot::vkGetImageDrmFormatModifierPropertiesEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties) {
mImpl->vkGetImageDrmFormatModifierPropertiesEXT(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, input_result, device, image,
pProperties);
}
#endif
#ifdef VK_EXT_external_memory_host
void VkDecoderSnapshot::vkGetMemoryHostPointerPropertiesEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer,
VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties) {
mImpl->vkGetMemoryHostPointerPropertiesEXT(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, input_result, device, handleType,
pHostPointer, pMemoryHostPointerProperties);
}
#endif
#ifdef VK_EXT_tooling_info
void VkDecoderSnapshot::vkGetPhysicalDeviceToolPropertiesEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result,
VkPhysicalDevice physicalDevice, uint32_t* pToolCount,
VkPhysicalDeviceToolProperties* pToolProperties) {
mImpl->vkGetPhysicalDeviceToolPropertiesEXT(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, input_result, physicalDevice,
pToolCount, pToolProperties);
}
#endif
#ifdef VK_EXT_line_rasterization
void VkDecoderSnapshot::vkCmdSetLineStippleEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
uint32_t lineStippleFactor, uint16_t lineStipplePattern) {
mImpl->vkCmdSetLineStippleEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, lineStippleFactor, lineStipplePattern);
}
#endif
#ifdef VK_EXT_extended_dynamic_state
void VkDecoderSnapshot::vkCmdSetCullModeEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkCullModeFlags cullMode) {
mImpl->vkCmdSetCullModeEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
cullMode);
}
#endif
#ifdef VK_EXT_extended_dynamic_state
void VkDecoderSnapshot::vkCmdSetFrontFaceEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkFrontFace frontFace) {
mImpl->vkCmdSetFrontFaceEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, frontFace);
}
#endif
#ifdef VK_EXT_extended_dynamic_state
void VkDecoderSnapshot::vkCmdSetPrimitiveTopologyEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkPrimitiveTopology primitiveTopology) {
mImpl->vkCmdSetPrimitiveTopologyEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, primitiveTopology);
}
#endif
#ifdef VK_EXT_extended_dynamic_state
void VkDecoderSnapshot::vkCmdSetViewportWithCountEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
uint32_t viewportCount, const VkViewport* pViewports) {
mImpl->vkCmdSetViewportWithCountEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, viewportCount, pViewports);
}
#endif
#ifdef VK_EXT_extended_dynamic_state
void VkDecoderSnapshot::vkCmdSetScissorWithCountEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
uint32_t scissorCount, const VkRect2D* pScissors) {
mImpl->vkCmdSetScissorWithCountEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, scissorCount, pScissors);
}
#endif
#ifdef VK_EXT_extended_dynamic_state
void VkDecoderSnapshot::vkCmdBindVertexBuffers2EXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers,
const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) {
mImpl->vkCmdBindVertexBuffers2EXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets,
pSizes, pStrides);
}
#endif
#ifdef VK_EXT_extended_dynamic_state
void VkDecoderSnapshot::vkCmdSetDepthTestEnableEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkBool32 depthTestEnable) {
mImpl->vkCmdSetDepthTestEnableEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, depthTestEnable);
}
#endif
#ifdef VK_EXT_extended_dynamic_state
void VkDecoderSnapshot::vkCmdSetDepthWriteEnableEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkBool32 depthWriteEnable) {
mImpl->vkCmdSetDepthWriteEnableEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, depthWriteEnable);
}
#endif
#ifdef VK_EXT_extended_dynamic_state
void VkDecoderSnapshot::vkCmdSetDepthCompareOpEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkCompareOp depthCompareOp) {
mImpl->vkCmdSetDepthCompareOpEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, depthCompareOp);
}
#endif
#ifdef VK_EXT_extended_dynamic_state
void VkDecoderSnapshot::vkCmdSetDepthBoundsTestEnableEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkBool32 depthBoundsTestEnable) {
mImpl->vkCmdSetDepthBoundsTestEnableEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, depthBoundsTestEnable);
}
#endif
#ifdef VK_EXT_extended_dynamic_state
void VkDecoderSnapshot::vkCmdSetStencilTestEnableEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkBool32 stencilTestEnable) {
mImpl->vkCmdSetStencilTestEnableEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, stencilTestEnable);
}
#endif
#ifdef VK_EXT_extended_dynamic_state
void VkDecoderSnapshot::vkCmdSetStencilOpEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkStencilFaceFlags faceMask, VkStencilOp failOp,
VkStencilOp passOp, VkStencilOp depthFailOp,
VkCompareOp compareOp) {
mImpl->vkCmdSetStencilOpEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp);
}
#endif
#ifdef VK_EXT_host_image_copy
void VkDecoderSnapshot::vkCopyMemoryToImageEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo) {
mImpl->vkCopyMemoryToImageEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pCopyMemoryToImageInfo);
}
#endif
#ifdef VK_EXT_host_image_copy
void VkDecoderSnapshot::vkCopyImageToMemoryEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo) {
mImpl->vkCopyImageToMemoryEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pCopyImageToMemoryInfo);
}
#endif
#ifdef VK_EXT_host_image_copy
void VkDecoderSnapshot::vkCopyImageToImageEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result,
VkDevice device,
const VkCopyImageToImageInfo* pCopyImageToImageInfo) {
mImpl->vkCopyImageToImageEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pCopyImageToImageInfo);
}
#endif
#ifdef VK_EXT_host_image_copy
void VkDecoderSnapshot::vkTransitionImageLayoutEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
uint32_t transitionCount, const VkHostImageLayoutTransitionInfo* pTransitions) {
mImpl->vkTransitionImageLayoutEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, transitionCount, pTransitions);
}
#endif
#ifdef VK_EXT_host_image_copy
void VkDecoderSnapshot::vkGetImageSubresourceLayout2EXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device, VkImage image,
const VkImageSubresource2* pSubresource, VkSubresourceLayout2* pLayout) {
mImpl->vkGetImageSubresourceLayout2EXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, image, pSubresource, pLayout);
}
#endif
#ifdef VK_EXT_swapchain_maintenance1
void VkDecoderSnapshot::vkReleaseSwapchainImagesEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo) {
mImpl->vkReleaseSwapchainImagesEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pReleaseInfo);
}
#endif
#ifdef VK_EXT_private_data
void VkDecoderSnapshot::vkCreatePrivateDataSlotEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator,
VkPrivateDataSlot* pPrivateDataSlot) {
mImpl->vkCreatePrivateDataSlotEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, pCreateInfo, pAllocator,
pPrivateDataSlot);
}
#endif
#ifdef VK_EXT_private_data
void VkDecoderSnapshot::vkDestroyPrivateDataSlotEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
VkPrivateDataSlot privateDataSlot,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkDestroyPrivateDataSlotEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, privateDataSlot, pAllocator);
}
#endif
#ifdef VK_EXT_private_data
void VkDecoderSnapshot::vkSetPrivateDataEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
VkObjectType objectType, uint64_t objectHandle,
VkPrivateDataSlot privateDataSlot, uint64_t data) {
mImpl->vkSetPrivateDataEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, objectType, objectHandle, privateDataSlot, data);
}
#endif
#ifdef VK_EXT_private_data
void VkDecoderSnapshot::vkGetPrivateDataEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkDevice device, VkObjectType objectType,
uint64_t objectHandle,
VkPrivateDataSlot privateDataSlot, uint64_t* pData) {
mImpl->vkGetPrivateDataEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device,
objectType, objectHandle, privateDataSlot, pData);
}
#endif
#ifdef VK_EXT_extended_dynamic_state2
void VkDecoderSnapshot::vkCmdSetPatchControlPointsEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
uint32_t patchControlPoints) {
mImpl->vkCmdSetPatchControlPointsEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, patchControlPoints);
}
#endif
#ifdef VK_EXT_extended_dynamic_state2
void VkDecoderSnapshot::vkCmdSetRasterizerDiscardEnableEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkBool32 rasterizerDiscardEnable) {
mImpl->vkCmdSetRasterizerDiscardEnableEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, rasterizerDiscardEnable);
}
#endif
#ifdef VK_EXT_extended_dynamic_state2
void VkDecoderSnapshot::vkCmdSetDepthBiasEnableEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkBool32 depthBiasEnable) {
mImpl->vkCmdSetDepthBiasEnableEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, depthBiasEnable);
}
#endif
#ifdef VK_EXT_extended_dynamic_state2
void VkDecoderSnapshot::vkCmdSetLogicOpEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkCommandBuffer commandBuffer, VkLogicOp logicOp) {
mImpl->vkCmdSetLogicOpEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, commandBuffer,
logicOp);
}
#endif
#ifdef VK_EXT_extended_dynamic_state2
void VkDecoderSnapshot::vkCmdSetPrimitiveRestartEnableEXT(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkBool32 primitiveRestartEnable) {
mImpl->vkCmdSetPrimitiveRestartEnableEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, primitiveRestartEnable);
}
#endif
#ifdef VK_EXT_color_write_enable
void VkDecoderSnapshot::vkCmdSetColorWriteEnableEXT(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
uint32_t attachmentCount, const VkBool32* pColorWriteEnables) {
mImpl->vkCmdSetColorWriteEnableEXT(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, attachmentCount, pColorWriteEnables);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkMapMemoryIntoAddressSpaceGOOGLE(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
VkDeviceMemory memory, uint64_t* pAddress) {
mImpl->vkMapMemoryIntoAddressSpaceGOOGLE(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, memory, pAddress);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkUpdateDescriptorSetWithTemplateSizedGOOGLE(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate,
uint32_t imageInfoCount, uint32_t bufferInfoCount, uint32_t bufferViewCount,
const uint32_t* pImageInfoEntryIndices, const uint32_t* pBufferInfoEntryIndices,
const uint32_t* pBufferViewEntryIndices, const VkDescriptorImageInfo* pImageInfos,
const VkDescriptorBufferInfo* pBufferInfos, const VkBufferView* pBufferViews) {
mImpl->vkUpdateDescriptorSetWithTemplateSizedGOOGLE(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device, descriptorSet,
descriptorUpdateTemplate, imageInfoCount, bufferInfoCount, bufferViewCount,
pImageInfoEntryIndices, pBufferInfoEntryIndices, pBufferViewEntryIndices, pImageInfos,
pBufferInfos, pBufferViews);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkBeginCommandBufferAsyncGOOGLE(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
const VkCommandBufferBeginInfo* pBeginInfo) {
mImpl->vkBeginCommandBufferAsyncGOOGLE(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, pBeginInfo);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkEndCommandBufferAsyncGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer) {
mImpl->vkEndCommandBufferAsyncGOOGLE(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkResetCommandBufferAsyncGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize,
VkCommandBuffer commandBuffer,
VkCommandBufferResetFlags flags) {
mImpl->vkResetCommandBufferAsyncGOOGLE(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, flags);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkCommandBufferHostSyncGOOGLE(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkCommandBuffer commandBuffer,
uint32_t needHostSync, uint32_t sequenceNumber) {
mImpl->vkCommandBufferHostSyncGOOGLE(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
commandBuffer, needHostSync, sequenceNumber);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkCreateImageWithRequirementsGOOGLE(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage,
VkMemoryRequirements* pMemoryRequirements) {
mImpl->vkCreateImageWithRequirementsGOOGLE(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, input_result, device, pCreateInfo,
pAllocator, pImage, pMemoryRequirements);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkCreateBufferWithRequirementsGOOGLE(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator,
VkBuffer* pBuffer, VkMemoryRequirements* pMemoryRequirements) {
mImpl->vkCreateBufferWithRequirementsGOOGLE(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result, device, pCreateInfo,
pAllocator, pBuffer, pMemoryRequirements);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkGetMemoryHostAddressInfoGOOGLE(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkResult input_result, VkDevice device,
VkDeviceMemory memory, uint64_t* pAddress, uint64_t* pSize, uint64_t* pHostmemId) {
mImpl->vkGetMemoryHostAddressInfoGOOGLE(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, memory, pAddress, pSize,
pHostmemId);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkFreeMemorySyncGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkResult input_result,
VkDevice device, VkDeviceMemory memory,
const VkAllocationCallbacks* pAllocator) {
mImpl->vkFreeMemorySyncGOOGLE(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
input_result, device, memory, pAllocator);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkQueueHostSyncGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkQueue queue,
uint32_t needHostSync, uint32_t sequenceNumber) {
mImpl->vkQueueHostSyncGOOGLE(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, queue,
needHostSync, sequenceNumber);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkQueueSubmitAsyncGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkQueue queue,
uint32_t submitCount, const VkSubmitInfo* pSubmits,
VkFence fence) {
mImpl->vkQueueSubmitAsyncGOOGLE(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, queue,
submitCount, pSubmits, fence);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkQueueWaitIdleAsyncGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkQueue queue) {
mImpl->vkQueueWaitIdleAsyncGOOGLE(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, queue);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkQueueBindSparseAsyncGOOGLE(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkQueue queue, uint32_t bindInfoCount,
const VkBindSparseInfo* pBindInfo, VkFence fence) {
mImpl->vkQueueBindSparseAsyncGOOGLE(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
queue, bindInfoCount, pBindInfo, fence);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkGetLinearImageLayoutGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkDevice device,
VkFormat format, VkDeviceSize* pOffset,
VkDeviceSize* pRowPitchAlignment) {
mImpl->vkGetLinearImageLayoutGOOGLE(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, format, pOffset, pRowPitchAlignment);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkGetLinearImageLayout2GOOGLE(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
const VkImageCreateInfo* pCreateInfo, VkDeviceSize* pOffset, VkDeviceSize* pRowPitchAlignment) {
mImpl->vkGetLinearImageLayout2GOOGLE(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, pCreateInfo, pOffset, pRowPitchAlignment);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkQueueFlushCommandsGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkQueue queue,
VkCommandBuffer commandBuffer,
VkDeviceSize dataSize, const void* pData) {
mImpl->vkQueueFlushCommandsGOOGLE(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, queue,
commandBuffer, dataSize, pData);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkQueueCommitDescriptorSetUpdatesGOOGLE(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkQueue queue,
uint32_t descriptorPoolCount, const VkDescriptorPool* pDescriptorPools,
uint32_t descriptorSetCount, const VkDescriptorSetLayout* pSetLayouts,
const uint64_t* pDescriptorSetPoolIds, const uint32_t* pDescriptorSetWhichPool,
const uint32_t* pDescriptorSetPendingAllocation,
const uint32_t* pDescriptorWriteStartingIndices, uint32_t pendingDescriptorWriteCount,
const VkWriteDescriptorSet* pPendingDescriptorWrites) {
mImpl->vkQueueCommitDescriptorSetUpdatesGOOGLE(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, queue, descriptorPoolCount,
pDescriptorPools, descriptorSetCount, pSetLayouts, pDescriptorSetPoolIds,
pDescriptorSetWhichPool, pDescriptorSetPendingAllocation, pDescriptorWriteStartingIndices,
pendingDescriptorWriteCount, pPendingDescriptorWrites);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkCollectDescriptorPoolIdsGOOGLE(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkDescriptorPool descriptorPool, uint32_t* pPoolIdCount, uint64_t* pPoolIds) {
mImpl->vkCollectDescriptorPoolIdsGOOGLE(pool, apiCallHandle, apiCallPacket, apiCallPacketSize,
device, descriptorPool, pPoolIdCount, pPoolIds);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkQueueSignalReleaseImageANDROIDAsyncGOOGLE(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkQueue queue,
uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image) {
mImpl->vkQueueSignalReleaseImageANDROIDAsyncGOOGLE(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, queue, waitSemaphoreCount,
pWaitSemaphores, image);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkQueueFlushCommandsFromAuxMemoryGOOGLE(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkQueue queue,
VkCommandBuffer commandBuffer, VkDeviceMemory deviceMemory, VkDeviceSize dataOffset,
VkDeviceSize dataSize) {
mImpl->vkQueueFlushCommandsFromAuxMemoryGOOGLE(pool, apiCallHandle, apiCallPacket,
apiCallPacketSize, queue, commandBuffer,
deviceMemory, dataOffset, dataSize);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkGetBlobGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
VkDeviceMemory memory) {
mImpl->vkGetBlobGOOGLE(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, memory);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkUpdateDescriptorSetWithTemplateSized2GOOGLE(
gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize, VkDevice device,
VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate,
uint32_t imageInfoCount, uint32_t bufferInfoCount, uint32_t bufferViewCount,
uint32_t inlineUniformBlockCount, const uint32_t* pImageInfoEntryIndices,
const uint32_t* pBufferInfoEntryIndices, const uint32_t* pBufferViewEntryIndices,
const VkDescriptorImageInfo* pImageInfos, const VkDescriptorBufferInfo* pBufferInfos,
const VkBufferView* pBufferViews, const uint8_t* pInlineUniformBlockData) {
mImpl->vkUpdateDescriptorSetWithTemplateSized2GOOGLE(
pool, apiCallHandle, apiCallPacket, apiCallPacketSize, device, descriptorSet,
descriptorUpdateTemplate, imageInfoCount, bufferInfoCount, bufferViewCount,
inlineUniformBlockCount, pImageInfoEntryIndices, pBufferInfoEntryIndices,
pBufferViewEntryIndices, pImageInfos, pBufferInfos, pBufferViews, pInlineUniformBlockData);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkQueueSubmitAsync2GOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket,
size_t apiCallPacketSize, VkQueue queue,
uint32_t submitCount,
const VkSubmitInfo2* pSubmits, VkFence fence) {
mImpl->vkQueueSubmitAsync2GOOGLE(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, queue,
submitCount, pSubmits, fence);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void VkDecoderSnapshot::vkGetSemaphoreGOOGLE(gfxstream::base::BumpPool* pool,
VkSnapshotApiCallHandle apiCallHandle,
const uint8_t* apiCallPacket, size_t apiCallPacketSize,
VkResult input_result, VkDevice device,
VkSemaphore semaphore, uint64_t syncId) {
mImpl->vkGetSemaphoreGOOGLE(pool, apiCallHandle, apiCallPacket, apiCallPacketSize, input_result,
device, semaphore, syncId);
}
#endif
} // namespace vk
} // namespace gfxstream