530 lines
24 KiB
Python
530 lines
24 KiB
Python
# Copyright (c) 2021 The Android Open Source Project
|
|
# Copyright (c) 2021 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.
|
|
|
|
KNOWN_FUNCTION_OPCODES = {
|
|
"vkCreateInstance": 20000,
|
|
"vkDestroyInstance": 20001,
|
|
"vkEnumeratePhysicalDevices": 20002,
|
|
"vkGetPhysicalDeviceFeatures": 20003,
|
|
"vkGetPhysicalDeviceFormatProperties": 20004,
|
|
"vkGetPhysicalDeviceImageFormatProperties": 20005,
|
|
"vkGetPhysicalDeviceProperties": 20006,
|
|
"vkGetPhysicalDeviceQueueFamilyProperties": 20007,
|
|
"vkGetPhysicalDeviceMemoryProperties": 20008,
|
|
"vkGetInstanceProcAddr": 20009,
|
|
"vkGetDeviceProcAddr": 20010,
|
|
"vkCreateDevice": 20011,
|
|
"vkDestroyDevice": 20012,
|
|
"vkEnumerateInstanceExtensionProperties": 20013,
|
|
"vkEnumerateDeviceExtensionProperties": 20014,
|
|
"vkEnumerateInstanceLayerProperties": 20015,
|
|
"vkEnumerateDeviceLayerProperties": 20016,
|
|
"vkGetDeviceQueue": 20017,
|
|
"vkQueueSubmit": 20018,
|
|
"vkQueueWaitIdle": 20019,
|
|
"vkDeviceWaitIdle": 20020,
|
|
"vkAllocateMemory": 20021,
|
|
"vkFreeMemory": 20022,
|
|
"vkMapMemory": 20023,
|
|
"vkUnmapMemory": 20024,
|
|
"vkFlushMappedMemoryRanges": 20025,
|
|
"vkInvalidateMappedMemoryRanges": 20026,
|
|
"vkGetDeviceMemoryCommitment": 20027,
|
|
"vkBindBufferMemory": 20028,
|
|
"vkBindImageMemory": 20029,
|
|
"vkGetBufferMemoryRequirements": 20030,
|
|
"vkGetImageMemoryRequirements": 20031,
|
|
"vkGetImageSparseMemoryRequirements": 20032,
|
|
"vkGetPhysicalDeviceSparseImageFormatProperties": 20033,
|
|
"vkQueueBindSparse": 20034,
|
|
"vkCreateFence": 20035,
|
|
"vkDestroyFence": 20036,
|
|
"vkResetFences": 20037,
|
|
"vkGetFenceStatus": 20038,
|
|
"vkWaitForFences": 20039,
|
|
"vkCreateSemaphore": 20040,
|
|
"vkDestroySemaphore": 20041,
|
|
"vkCreateEvent": 20042,
|
|
"vkDestroyEvent": 20043,
|
|
"vkGetEventStatus": 20044,
|
|
"vkSetEvent": 20045,
|
|
"vkResetEvent": 20046,
|
|
"vkCreateQueryPool": 20047,
|
|
"vkDestroyQueryPool": 20048,
|
|
"vkGetQueryPoolResults": 20049,
|
|
"vkCreateBuffer": 20050,
|
|
"vkDestroyBuffer": 20051,
|
|
"vkCreateBufferView": 20052,
|
|
"vkDestroyBufferView": 20053,
|
|
"vkCreateImage": 20054,
|
|
"vkDestroyImage": 20055,
|
|
"vkGetImageSubresourceLayout": 20056,
|
|
"vkCreateImageView": 20057,
|
|
"vkDestroyImageView": 20058,
|
|
"vkCreateShaderModule": 20059,
|
|
"vkDestroyShaderModule": 20060,
|
|
"vkCreatePipelineCache": 20061,
|
|
"vkDestroyPipelineCache": 20062,
|
|
"vkGetPipelineCacheData": 20063,
|
|
"vkMergePipelineCaches": 20064,
|
|
"vkCreateGraphicsPipelines": 20065,
|
|
"vkCreateComputePipelines": 20066,
|
|
"vkDestroyPipeline": 20067,
|
|
"vkCreatePipelineLayout": 20068,
|
|
"vkDestroyPipelineLayout": 20069,
|
|
"vkCreateSampler": 20070,
|
|
"vkDestroySampler": 20071,
|
|
"vkCreateDescriptorSetLayout": 20072,
|
|
"vkDestroyDescriptorSetLayout": 20073,
|
|
"vkCreateDescriptorPool": 20074,
|
|
"vkDestroyDescriptorPool": 20075,
|
|
"vkResetDescriptorPool": 20076,
|
|
"vkAllocateDescriptorSets": 20077,
|
|
"vkFreeDescriptorSets": 20078,
|
|
"vkUpdateDescriptorSets": 20079,
|
|
"vkCreateFramebuffer": 20080,
|
|
"vkDestroyFramebuffer": 20081,
|
|
"vkCreateRenderPass": 20082,
|
|
"vkDestroyRenderPass": 20083,
|
|
"vkGetRenderAreaGranularity": 20084,
|
|
"vkCreateCommandPool": 20085,
|
|
"vkDestroyCommandPool": 20086,
|
|
"vkResetCommandPool": 20087,
|
|
"vkAllocateCommandBuffers": 20088,
|
|
"vkFreeCommandBuffers": 20089,
|
|
"vkBeginCommandBuffer": 20090,
|
|
"vkEndCommandBuffer": 20091,
|
|
"vkResetCommandBuffer": 20092,
|
|
"vkCmdBindPipeline": 20093,
|
|
"vkCmdSetViewport": 20094,
|
|
"vkCmdSetScissor": 20095,
|
|
"vkCmdSetLineWidth": 20096,
|
|
"vkCmdSetDepthBias": 20097,
|
|
"vkCmdSetBlendConstants": 20098,
|
|
"vkCmdSetDepthBounds": 20099,
|
|
"vkCmdSetStencilCompareMask": 20100,
|
|
"vkCmdSetStencilWriteMask": 20101,
|
|
"vkCmdSetStencilReference": 20102,
|
|
"vkCmdBindDescriptorSets": 20103,
|
|
"vkCmdBindIndexBuffer": 20104,
|
|
"vkCmdBindVertexBuffers": 20105,
|
|
"vkCmdDraw": 20106,
|
|
"vkCmdDrawIndexed": 20107,
|
|
"vkCmdDrawIndirect": 20108,
|
|
"vkCmdDrawIndexedIndirect": 20109,
|
|
"vkCmdDispatch": 20110,
|
|
"vkCmdDispatchIndirect": 20111,
|
|
"vkCmdCopyBuffer": 20112,
|
|
"vkCmdCopyImage": 20113,
|
|
"vkCmdBlitImage": 20114,
|
|
"vkCmdCopyBufferToImage": 20115,
|
|
"vkCmdCopyImageToBuffer": 20116,
|
|
"vkCmdUpdateBuffer": 20117,
|
|
"vkCmdFillBuffer": 20118,
|
|
"vkCmdClearColorImage": 20119,
|
|
"vkCmdClearDepthStencilImage": 20120,
|
|
"vkCmdClearAttachments": 20121,
|
|
"vkCmdResolveImage": 20122,
|
|
"vkCmdSetEvent": 20123,
|
|
"vkCmdResetEvent": 20124,
|
|
"vkCmdWaitEvents": 20125,
|
|
"vkCmdPipelineBarrier": 20126,
|
|
"vkCmdBeginQuery": 20127,
|
|
"vkCmdEndQuery": 20128,
|
|
"vkCmdResetQueryPool": 20129,
|
|
"vkCmdWriteTimestamp": 20130,
|
|
"vkCmdCopyQueryPoolResults": 20131,
|
|
"vkCmdPushConstants": 20132,
|
|
"vkCmdBeginRenderPass": 20133,
|
|
"vkCmdNextSubpass": 20134,
|
|
"vkCmdEndRenderPass": 20135,
|
|
"vkCmdExecuteCommands": 20136,
|
|
"vkEnumerateInstanceVersion": 20137,
|
|
"vkBindBufferMemory2": 20138,
|
|
"vkBindImageMemory2": 20139,
|
|
"vkGetDeviceGroupPeerMemoryFeatures": 20140,
|
|
"vkCmdSetDeviceMask": 20141,
|
|
"vkCmdDispatchBase": 20142,
|
|
"vkEnumeratePhysicalDeviceGroups": 20143,
|
|
"vkGetImageMemoryRequirements2": 20144,
|
|
"vkGetBufferMemoryRequirements2": 20145,
|
|
"vkGetImageSparseMemoryRequirements2": 20146,
|
|
"vkGetPhysicalDeviceFeatures2": 20147,
|
|
"vkGetPhysicalDeviceProperties2": 20148,
|
|
"vkGetPhysicalDeviceFormatProperties2": 20149,
|
|
"vkGetPhysicalDeviceImageFormatProperties2": 20150,
|
|
"vkGetPhysicalDeviceQueueFamilyProperties2": 20151,
|
|
"vkGetPhysicalDeviceMemoryProperties2": 20152,
|
|
"vkGetPhysicalDeviceSparseImageFormatProperties2": 20153,
|
|
"vkTrimCommandPool": 20154,
|
|
"vkGetDeviceQueue2": 20155,
|
|
"vkCreateSamplerYcbcrConversion": 20156,
|
|
"vkDestroySamplerYcbcrConversion": 20157,
|
|
"vkCreateDescriptorUpdateTemplate": 20158,
|
|
"vkDestroyDescriptorUpdateTemplate": 20159,
|
|
"vkUpdateDescriptorSetWithTemplate": 20160,
|
|
"vkGetPhysicalDeviceExternalBufferProperties": 20161,
|
|
"vkGetPhysicalDeviceExternalFenceProperties": 20162,
|
|
"vkGetPhysicalDeviceExternalSemaphoreProperties": 20163,
|
|
"vkGetDescriptorSetLayoutSupport": 20164,
|
|
"vkDestroySurfaceKHR": 20165,
|
|
"vkGetPhysicalDeviceSurfaceSupportKHR": 20166,
|
|
"vkGetPhysicalDeviceSurfaceCapabilitiesKHR": 20167,
|
|
"vkGetPhysicalDeviceSurfaceFormatsKHR": 20168,
|
|
"vkGetPhysicalDeviceSurfacePresentModesKHR": 20169,
|
|
"vkCreateSwapchainKHR": 20170,
|
|
"vkDestroySwapchainKHR": 20171,
|
|
"vkGetSwapchainImagesKHR": 20172,
|
|
"vkAcquireNextImageKHR": 20173,
|
|
"vkQueuePresentKHR": 20174,
|
|
"vkGetDeviceGroupPresentCapabilitiesKHR": 20175,
|
|
"vkGetDeviceGroupSurfacePresentModesKHR": 20176,
|
|
"vkGetPhysicalDevicePresentRectanglesKHR": 20177,
|
|
"vkAcquireNextImage2KHR": 20178,
|
|
"vkGetPhysicalDeviceDisplayPropertiesKHR": 20179,
|
|
"vkGetPhysicalDeviceDisplayPlanePropertiesKHR": 20180,
|
|
"vkGetDisplayPlaneSupportedDisplaysKHR": 20181,
|
|
"vkGetDisplayModePropertiesKHR": 20182,
|
|
"vkCreateDisplayModeKHR": 20183,
|
|
"vkGetDisplayPlaneCapabilitiesKHR": 20184,
|
|
"vkCreateDisplayPlaneSurfaceKHR": 20185,
|
|
"vkCreateSharedSwapchainsKHR": 20186,
|
|
"vkCreateXlibSurfaceKHR": 20187,
|
|
"vkGetPhysicalDeviceXlibPresentationSupportKHR": 20188,
|
|
"vkCreateXcbSurfaceKHR": 20189,
|
|
"vkGetPhysicalDeviceXcbPresentationSupportKHR": 20190,
|
|
"vkCreateWaylandSurfaceKHR": 20191,
|
|
"vkGetPhysicalDeviceWaylandPresentationSupportKHR": 20192,
|
|
"vkCreateMirSurfaceKHR": 20193,
|
|
"vkGetPhysicalDeviceMirPresentationSupportKHR": 20194,
|
|
"vkCreateAndroidSurfaceKHR": 20195,
|
|
"vkCreateWin32SurfaceKHR": 20196,
|
|
"vkGetPhysicalDeviceWin32PresentationSupportKHR": 20197,
|
|
"vkGetPhysicalDeviceFeatures2KHR": 20198,
|
|
"vkGetPhysicalDeviceProperties2KHR": 20199,
|
|
"vkGetPhysicalDeviceFormatProperties2KHR": 20200,
|
|
"vkGetPhysicalDeviceImageFormatProperties2KHR": 20201,
|
|
"vkGetPhysicalDeviceQueueFamilyProperties2KHR": 20202,
|
|
"vkGetPhysicalDeviceMemoryProperties2KHR": 20203,
|
|
"vkGetPhysicalDeviceSparseImageFormatProperties2KHR": 20204,
|
|
"vkGetDeviceGroupPeerMemoryFeaturesKHR": 20205,
|
|
"vkCmdSetDeviceMaskKHR": 20206,
|
|
"vkCmdDispatchBaseKHR": 20207,
|
|
"vkTrimCommandPoolKHR": 20208,
|
|
"vkEnumeratePhysicalDeviceGroupsKHR": 20209,
|
|
"vkGetPhysicalDeviceExternalBufferPropertiesKHR": 20210,
|
|
"vkGetMemoryWin32HandleKHR": 20211,
|
|
"vkGetMemoryWin32HandlePropertiesKHR": 20212,
|
|
"vkGetMemoryFdKHR": 20213,
|
|
"vkGetMemoryFdPropertiesKHR": 20214,
|
|
"vkGetPhysicalDeviceExternalSemaphorePropertiesKHR": 20215,
|
|
"vkImportSemaphoreWin32HandleKHR": 20216,
|
|
"vkGetSemaphoreWin32HandleKHR": 20217,
|
|
"vkImportSemaphoreFdKHR": 20218,
|
|
"vkGetSemaphoreFdKHR": 20219,
|
|
"vkCmdPushDescriptorSetKHR": 20220,
|
|
"vkCmdPushDescriptorSetWithTemplateKHR": 20221,
|
|
"vkCreateDescriptorUpdateTemplateKHR": 20222,
|
|
"vkDestroyDescriptorUpdateTemplateKHR": 20223,
|
|
"vkUpdateDescriptorSetWithTemplateKHR": 20224,
|
|
"vkCreateRenderPass2KHR": 20225,
|
|
"vkCmdBeginRenderPass2KHR": 20226,
|
|
"vkCmdNextSubpass2KHR": 20227,
|
|
"vkCmdEndRenderPass2KHR": 20228,
|
|
"vkGetSwapchainStatusKHR": 20229,
|
|
"vkGetPhysicalDeviceExternalFencePropertiesKHR": 20230,
|
|
"vkImportFenceWin32HandleKHR": 20231,
|
|
"vkGetFenceWin32HandleKHR": 20232,
|
|
"vkImportFenceFdKHR": 20233,
|
|
"vkGetFenceFdKHR": 20234,
|
|
"vkGetPhysicalDeviceSurfaceCapabilities2KHR": 20235,
|
|
"vkGetPhysicalDeviceSurfaceFormats2KHR": 20236,
|
|
"vkGetPhysicalDeviceDisplayProperties2KHR": 20237,
|
|
"vkGetPhysicalDeviceDisplayPlaneProperties2KHR": 20238,
|
|
"vkGetDisplayModeProperties2KHR": 20239,
|
|
"vkGetDisplayPlaneCapabilities2KHR": 20240,
|
|
"vkGetImageMemoryRequirements2KHR": 20241,
|
|
"vkGetBufferMemoryRequirements2KHR": 20242,
|
|
"vkGetImageSparseMemoryRequirements2KHR": 20243,
|
|
"vkCreateSamplerYcbcrConversionKHR": 20244,
|
|
"vkDestroySamplerYcbcrConversionKHR": 20245,
|
|
"vkBindBufferMemory2KHR": 20246,
|
|
"vkBindImageMemory2KHR": 20247,
|
|
"vkGetDescriptorSetLayoutSupportKHR": 20248,
|
|
"vkCmdDrawIndirectCountKHR": 20249,
|
|
"vkCmdDrawIndexedIndirectCountKHR": 20250,
|
|
"vkGetSwapchainGrallocUsageANDROID": 20251,
|
|
"vkAcquireImageANDROID": 20252,
|
|
"vkQueueSignalReleaseImageANDROID": 20253,
|
|
"vkCreateDebugReportCallbackEXT": 20254,
|
|
"vkDestroyDebugReportCallbackEXT": 20255,
|
|
"vkDebugReportMessageEXT": 20256,
|
|
"vkDebugMarkerSetObjectTagEXT": 20257,
|
|
"vkDebugMarkerSetObjectNameEXT": 20258,
|
|
"vkCmdDebugMarkerBeginEXT": 20259,
|
|
"vkCmdDebugMarkerEndEXT": 20260,
|
|
"vkCmdDebugMarkerInsertEXT": 20261,
|
|
"vkCmdDrawIndirectCountAMD": 20262,
|
|
"vkCmdDrawIndexedIndirectCountAMD": 20263,
|
|
"vkGetShaderInfoAMD": 20264,
|
|
"vkGetPhysicalDeviceExternalImageFormatPropertiesNV": 20265,
|
|
"vkGetMemoryWin32HandleNV": 20266,
|
|
"vkCreateViSurfaceNN": 20267,
|
|
"vkCmdBeginConditionalRenderingEXT": 20268,
|
|
"vkCmdEndConditionalRenderingEXT": 20269,
|
|
"vkCmdProcessCommandsNVX": 20270,
|
|
"vkCmdReserveSpaceForCommandsNVX": 20271,
|
|
"vkCreateIndirectCommandsLayoutNVX": 20272,
|
|
"vkDestroyIndirectCommandsLayoutNVX": 20273,
|
|
"vkCreateObjectTableNVX": 20274,
|
|
"vkDestroyObjectTableNVX": 20275,
|
|
"vkRegisterObjectsNVX": 20276,
|
|
"vkUnregisterObjectsNVX": 20277,
|
|
"vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX": 20278,
|
|
"vkCmdSetViewportWScalingNV": 20279,
|
|
"vkReleaseDisplayEXT": 20280,
|
|
"vkAcquireXlibDisplayEXT": 20281,
|
|
"vkGetRandROutputDisplayEXT": 20282,
|
|
"vkGetPhysicalDeviceSurfaceCapabilities2EXT": 20283,
|
|
"vkDisplayPowerControlEXT": 20284,
|
|
"vkRegisterDeviceEventEXT": 20285,
|
|
"vkRegisterDisplayEventEXT": 20286,
|
|
"vkGetSwapchainCounterEXT": 20287,
|
|
"vkGetRefreshCycleDurationGOOGLE": 20288,
|
|
"vkGetPastPresentationTimingGOOGLE": 20289,
|
|
"vkCmdSetDiscardRectangleEXT": 20290,
|
|
"vkSetHdrMetadataEXT": 20291,
|
|
"vkCreateIOSSurfaceMVK": 20292,
|
|
"vkCreateMacOSSurfaceMVK": 20293,
|
|
"vkSetDebugUtilsObjectNameEXT": 20294,
|
|
"vkSetDebugUtilsObjectTagEXT": 20295,
|
|
"vkQueueBeginDebugUtilsLabelEXT": 20296,
|
|
"vkQueueEndDebugUtilsLabelEXT": 20297,
|
|
"vkQueueInsertDebugUtilsLabelEXT": 20298,
|
|
"vkCmdBeginDebugUtilsLabelEXT": 20299,
|
|
"vkCmdEndDebugUtilsLabelEXT": 20300,
|
|
"vkCmdInsertDebugUtilsLabelEXT": 20301,
|
|
"vkCreateDebugUtilsMessengerEXT": 20302,
|
|
"vkDestroyDebugUtilsMessengerEXT": 20303,
|
|
"vkSubmitDebugUtilsMessageEXT": 20304,
|
|
"vkGetAndroidHardwareBufferPropertiesANDROID": 20305,
|
|
"vkGetMemoryAndroidHardwareBufferANDROID": 20306,
|
|
"vkCmdSetSampleLocationsEXT": 20307,
|
|
"vkGetPhysicalDeviceMultisamplePropertiesEXT": 20308,
|
|
"vkCreateValidationCacheEXT": 20309,
|
|
"vkDestroyValidationCacheEXT": 20310,
|
|
"vkMergeValidationCachesEXT": 20311,
|
|
"vkGetValidationCacheDataEXT": 20312,
|
|
"vkGetMemoryHostPointerPropertiesEXT": 20313,
|
|
"vkCmdWriteBufferMarkerAMD": 20314,
|
|
"vkCmdSetCheckpointNV": 20315,
|
|
"vkGetQueueCheckpointDataNV": 20316,
|
|
"vkMapMemoryIntoAddressSpaceGOOGLE": 20317,
|
|
"vkRegisterImageColorBufferGOOGLE": 20318,
|
|
"vkRegisterBufferColorBufferGOOGLE": 20319,
|
|
"vkUpdateDescriptorSetWithTemplateSizedGOOGLE": 20320,
|
|
"vkBeginCommandBufferAsyncGOOGLE": 20321,
|
|
"vkEndCommandBufferAsyncGOOGLE": 20322,
|
|
"vkResetCommandBufferAsyncGOOGLE": 20323,
|
|
"vkCommandBufferHostSyncGOOGLE": 20324,
|
|
"vkCreateImageWithRequirementsGOOGLE": 20325,
|
|
"vkCreateBufferWithRequirementsGOOGLE": 20326,
|
|
"vkGetMemoryHostAddressInfoGOOGLE": 20327,
|
|
"vkFreeMemorySyncGOOGLE": 20328,
|
|
"vkQueueHostSyncGOOGLE": 20329,
|
|
"vkQueueSubmitAsyncGOOGLE": 20330,
|
|
"vkQueueWaitIdleAsyncGOOGLE": 20331,
|
|
"vkQueueBindSparseAsyncGOOGLE": 20332,
|
|
"vkGetLinearImageLayoutGOOGLE": 20333,
|
|
"vkGetMTLDeviceMVK": 20334,
|
|
"vkSetMTLTextureMVK": 20335,
|
|
"vkGetMTLTextureMVK": 20336,
|
|
"vkGetMTLBufferMVK": 20337,
|
|
"vkUseIOSurfaceMVK": 20338,
|
|
"vkGetIOSurfaceMVK": 20339,
|
|
"vkQueueFlushCommandsGOOGLE": 20340,
|
|
}
|
|
|
|
CUSTOM_MARSHAL_TYPES = {
|
|
"VkAccelerationStructureInstanceKHR": {
|
|
"common": """
|
|
typedef struct VkAccelerationStructureInstanceKHRWithoutBitFields {
|
|
VkTransformMatrixKHR transform;
|
|
uint32_t dwords[2];
|
|
uint64_t accelerationStructureReference;
|
|
} VkAccelerationStructureInstanceKHRWithoutBitFields;
|
|
""",
|
|
"marshaling": """
|
|
const VkAccelerationStructureInstanceKHRWithoutBitFields* {newInputVarName} = (const VkAccelerationStructureInstanceKHRWithoutBitFields*)({inputVarName});
|
|
marshal_VkTransformMatrixKHR({streamVarName}, {rootTypeVarName}, (VkTransformMatrixKHR*)(&{newInputVarName}->transform));
|
|
for (uint32_t i = 0; i < 2; i++) {{
|
|
{streamVarName}->write((uint32_t*)&({newInputVarName}->dwords[i]), sizeof(uint32_t));
|
|
}}
|
|
{streamVarName}->write((uint64_t*)&{newInputVarName}->accelerationStructureReference, sizeof(uint64_t));
|
|
""",
|
|
"unmarshaling": """
|
|
VkAccelerationStructureInstanceKHRWithoutBitFields* {newInputVarName} = (VkAccelerationStructureInstanceKHRWithoutBitFields*)({inputVarName});
|
|
unmarshal_VkTransformMatrixKHR({streamVarName}, {rootTypeVarName}, (VkTransformMatrixKHR*)(&{newInputVarName}->transform));
|
|
for (uint32_t i = 0; i < 2; i++) {{
|
|
{streamVarName}->read((uint32_t*)&({newInputVarName}->dwords[i]), sizeof(uint32_t));
|
|
}}
|
|
{streamVarName}->read((uint64_t*)&{newInputVarName}->accelerationStructureReference, sizeof(uint64_t));
|
|
""",
|
|
"reservedmarshaling": """
|
|
(void)vkStream;
|
|
const VkAccelerationStructureInstanceKHRWithoutBitFields* {newInputVarName} = (const VkAccelerationStructureInstanceKHRWithoutBitFields*)({inputVarName});
|
|
reservedmarshal_VkTransformMatrixKHR({streamVarName}, {rootTypeVarName}, (VkTransformMatrixKHR*)(&{newInputVarName}->transform), ptr);
|
|
for (uint32_t i = 0; i < 2; i++) {{
|
|
memcpy(*ptr, (uint32_t*)&({newInputVarName}->dwords[i]), sizeof(uint32_t));
|
|
*ptr += sizeof(uint32_t);
|
|
}}
|
|
memcpy(*ptr, (uint64_t*)&{newInputVarName}->accelerationStructureReference, sizeof(uint64_t));
|
|
*ptr += sizeof(uint64_t);
|
|
""",
|
|
"reservedunmarshaling": """
|
|
VkAccelerationStructureInstanceKHRWithoutBitFields* {newInputVarName} = (VkAccelerationStructureInstanceKHRWithoutBitFields*)({inputVarName});
|
|
reservedunmarshal_VkTransformMatrixKHR({streamVarName}, {rootTypeVarName}, (VkTransformMatrixKHR*)(&{newInputVarName}->transform), ptr);
|
|
for (uint32_t i = 0; i < 2; i++) {{
|
|
memcpy((uint32_t*)&({newInputVarName}->dwords[i]), *ptr, sizeof(uint32_t));
|
|
*ptr += sizeof(uint32_t);
|
|
}}
|
|
memcpy((uint64_t*)&{newInputVarName}->accelerationStructureReference, *ptr, sizeof(uint64_t));
|
|
*ptr += sizeof(uint64_t);
|
|
""",
|
|
},
|
|
"VkAccelerationStructureMatrixMotionInstanceNV": {
|
|
"common": """
|
|
typedef struct VkAccelerationStructureMatrixMotionInstanceNVWithoutBitFields {
|
|
VkTransformMatrixKHR transformT0;
|
|
VkTransformMatrixKHR transformT1;
|
|
uint32_t dwords[2];
|
|
uint64_t accelerationStructureReference;
|
|
} VkAccelerationStructureMatrixMotionInstanceNVWithoutBitFields;
|
|
""",
|
|
"marshaling": """
|
|
const VkAccelerationStructureMatrixMotionInstanceNVWithoutBitFields* {newInputVarName} = (const VkAccelerationStructureMatrixMotionInstanceNVWithoutBitFields*)({inputVarName});
|
|
marshal_VkTransformMatrixKHR({streamVarName}, {rootTypeVarName}, (VkTransformMatrixKHR*)(&{newInputVarName}->transformT0));
|
|
marshal_VkTransformMatrixKHR({streamVarName}, {rootTypeVarName}, (VkTransformMatrixKHR*)(&{newInputVarName}->transformT1));
|
|
for (uint32_t i = 0; i < 2; i++) {{
|
|
{streamVarName}->write((uint32_t*)&({newInputVarName}->dwords[i]), sizeof(uint32_t));
|
|
}}
|
|
{streamVarName}->write((uint64_t*)&{newInputVarName}->accelerationStructureReference, sizeof(uint64_t));
|
|
""",
|
|
"unmarshaling": """
|
|
VkAccelerationStructureMatrixMotionInstanceNVWithoutBitFields* {newInputVarName} = (VkAccelerationStructureMatrixMotionInstanceNVWithoutBitFields*)({inputVarName});
|
|
unmarshal_VkTransformMatrixKHR({streamVarName}, {rootTypeVarName}, (VkTransformMatrixKHR*)(&{newInputVarName}->transformT0));
|
|
unmarshal_VkTransformMatrixKHR({streamVarName}, {rootTypeVarName}, (VkTransformMatrixKHR*)(&{newInputVarName}->transformT1));
|
|
for (uint32_t i = 0; i < 2; i++) {{
|
|
{streamVarName}->read((uint32_t*)&({newInputVarName}->dwords[i]), sizeof(uint32_t));
|
|
}}
|
|
{streamVarName}->read((uint64_t*)&{newInputVarName}->accelerationStructureReference, sizeof(uint64_t));
|
|
""",
|
|
"reservedmarshaling": """
|
|
(void)vkStream;
|
|
const VkAccelerationStructureMatrixMotionInstanceNVWithoutBitFields* {newInputVarName} = (const VkAccelerationStructureMatrixMotionInstanceNVWithoutBitFields*)({inputVarName});
|
|
reservedmarshal_VkTransformMatrixKHR({streamVarName}, {rootTypeVarName}, (VkTransformMatrixKHR*)(&{newInputVarName}->transformT0), ptr);
|
|
reservedmarshal_VkTransformMatrixKHR({streamVarName}, {rootTypeVarName}, (VkTransformMatrixKHR*)(&{newInputVarName}->transformT1), ptr);
|
|
for (uint32_t i = 0; i < 2; i++) {{
|
|
memcpy(*ptr, (uint32_t*)&({newInputVarName}->dwords[i]), sizeof(uint32_t));
|
|
*ptr += sizeof(uint32_t);
|
|
}}
|
|
memcpy(*ptr, (uint64_t*)&{newInputVarName}->accelerationStructureReference, sizeof(uint64_t));
|
|
*ptr += sizeof(uint64_t);
|
|
""",
|
|
"reservedunmarshaling": """
|
|
VkAccelerationStructureMatrixMotionInstanceNVWithoutBitFields* {newInputVarName} = (VkAccelerationStructureMatrixMotionInstanceNVWithoutBitFields*)({inputVarName});
|
|
reservedunmarshal_VkTransformMatrixKHR({streamVarName}, {rootTypeVarName}, (VkTransformMatrixKHR*)(&{newInputVarName}->transformT0), ptr);
|
|
reservedunmarshal_VkTransformMatrixKHR({streamVarName}, {rootTypeVarName}, (VkTransformMatrixKHR*)(&{newInputVarName}->transformT1), ptr);
|
|
for (uint32_t i = 0; i < 2; i++) {{
|
|
memcpy((uint32_t*)&({newInputVarName}->dwords[i]), *ptr, sizeof(uint32_t));
|
|
*ptr += sizeof(uint32_t);
|
|
}}
|
|
memcpy((uint64_t*)&{newInputVarName}->accelerationStructureReference, *ptr, sizeof(uint64_t));
|
|
*ptr += sizeof(uint64_t);
|
|
""",
|
|
},
|
|
"VkAccelerationStructureSRTMotionInstanceNV": {
|
|
"common": """
|
|
typedef struct VkAccelerationStructureSRTMotionInstanceNVWithoutBitFields {
|
|
VkSRTDataNV transformT0;
|
|
VkSRTDataNV transformT1;
|
|
uint32_t dwords[2];
|
|
uint64_t accelerationStructureReference;
|
|
} VkAccelerationStructureSRTMotionInstanceNVWithoutBitFields;
|
|
""",
|
|
"marshaling": """
|
|
const VkAccelerationStructureSRTMotionInstanceNVWithoutBitFields* {newInputVarName} = (const VkAccelerationStructureSRTMotionInstanceNVWithoutBitFields*)({inputVarName});
|
|
marshal_VkSRTDataNV({streamVarName}, {rootTypeVarName}, (VkSRTDataNV*)(&{newInputVarName}->transformT0));
|
|
marshal_VkSRTDataNV({streamVarName}, {rootTypeVarName}, (VkSRTDataNV*)(&{newInputVarName}->transformT1));
|
|
for (uint32_t i = 0; i < 2; i++) {{
|
|
{streamVarName}->write((uint32_t*)&({newInputVarName}->dwords[i]), sizeof(uint32_t));
|
|
}}
|
|
{streamVarName}->write((uint64_t*)&{newInputVarName}->accelerationStructureReference, sizeof(uint64_t));
|
|
""",
|
|
"unmarshaling": """
|
|
VkAccelerationStructureSRTMotionInstanceNVWithoutBitFields* {newInputVarName} = (VkAccelerationStructureSRTMotionInstanceNVWithoutBitFields*)({inputVarName});
|
|
unmarshal_VkSRTDataNV({streamVarName}, {rootTypeVarName}, (VkSRTDataNV*)(&{newInputVarName}->transformT0));
|
|
unmarshal_VkSRTDataNV({streamVarName}, {rootTypeVarName}, (VkSRTDataNV*)(&{newInputVarName}->transformT1));
|
|
for (uint32_t i = 0; i < 2; i++) {{
|
|
{streamVarName}->read((uint32_t*)&({newInputVarName}->dwords[i]), sizeof(uint32_t));
|
|
}}
|
|
{streamVarName}->read((uint64_t*)&{newInputVarName}->accelerationStructureReference, sizeof(uint64_t));
|
|
""",
|
|
"reservedmarshaling": """
|
|
(void)vkStream;
|
|
const VkAccelerationStructureSRTMotionInstanceNVWithoutBitFields* {newInputVarName} = (const VkAccelerationStructureSRTMotionInstanceNVWithoutBitFields*)({inputVarName});
|
|
reservedmarshal_VkSRTDataNV({streamVarName}, {rootTypeVarName}, (VkSRTDataNV*)(&{newInputVarName}->transformT0), ptr);
|
|
reservedmarshal_VkSRTDataNV({streamVarName}, {rootTypeVarName}, (VkSRTDataNV*)(&{newInputVarName}->transformT1), ptr);
|
|
for (uint32_t i = 0; i < 2; i++) {{
|
|
memcpy(*ptr, (uint32_t*)&({newInputVarName}->dwords[i]), sizeof(uint32_t));
|
|
*ptr += sizeof(uint32_t);
|
|
}}
|
|
memcpy(*ptr, (uint64_t*)&{newInputVarName}->accelerationStructureReference, sizeof(uint64_t));
|
|
*ptr += sizeof(uint64_t);
|
|
""",
|
|
"reservedunmarshaling": """
|
|
VkAccelerationStructureSRTMotionInstanceNVWithoutBitFields* {newInputVarName} = (VkAccelerationStructureSRTMotionInstanceNVWithoutBitFields*)({inputVarName});
|
|
reservedunmarshal_VkSRTDataNV({streamVarName}, {rootTypeVarName}, (VkSRTDataNV*)(&{newInputVarName}->transformT0), ptr);
|
|
reservedunmarshal_VkSRTDataNV({streamVarName}, {rootTypeVarName}, (VkSRTDataNV*)(&{newInputVarName}->transformT1), ptr);
|
|
for (uint32_t i = 0; i < 2; i++) {{
|
|
memcpy((uint32_t*)&({newInputVarName}->dwords[i]), *ptr, sizeof(uint32_t));
|
|
*ptr += sizeof(uint32_t);
|
|
}}
|
|
memcpy((uint64_t*)&{newInputVarName}->accelerationStructureReference, *ptr, sizeof(uint64_t));
|
|
*ptr += sizeof(uint64_t);
|
|
""",
|
|
},
|
|
"VkXcbSurfaceCreateInfoKHR": {
|
|
"common": """
|
|
// This struct should never be marshaled / unmarshaled.
|
|
__builtin_trap();
|
|
""",
|
|
"marshaling": "",
|
|
"unmarshaling": "",
|
|
"reservedmarshaling": "",
|
|
"reservedunmarshaling": "",
|
|
},
|
|
"VkMetalSurfaceCreateInfoEXT": {
|
|
"common": """
|
|
// This struct should never be marshaled / unmarshaled.
|
|
__builtin_trap();
|
|
""",
|
|
"marshaling": "",
|
|
"unmarshaling": "",
|
|
"reservedmarshaling": "",
|
|
"reservedunmarshaling": "",
|
|
},
|
|
}
|