Mercurial > games > semicongine
diff semiconginev2/old/vulkan/platform/metal.nim @ 1218:56781cc0fc7c compiletime-tests
did: renamge main package
author | sam <sam@basx.dev> |
---|---|
date | Wed, 17 Jul 2024 21:01:37 +0700 |
parents | semicongine/old/vulkan/platform/metal.nim@a3eb305bcac2 |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/semiconginev2/old/vulkan/platform/metal.nim Wed Jul 17 21:01:37 2024 +0700 @@ -0,0 +1,75 @@ +type + VkMetalSurfaceCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkMetalSurfaceCreateFlagsEXT + pLayer*: ptr CAMetalLayer + VkExportMetalObjectCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + exportObjectType*: VkExportMetalObjectTypeFlagBitsEXT + VkExportMetalObjectsInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + VkExportMetalDeviceInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + mtlDevice*: MTLDevice_id + VkExportMetalCommandQueueInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + queue*: VkQueue + mtlCommandQueue*: MTLCommandQueue_id + VkExportMetalBufferInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + memory*: VkDeviceMemory + mtlBuffer*: MTLBuffer_id + VkImportMetalBufferInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + mtlBuffer*: MTLBuffer_id + VkExportMetalTextureInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + image*: VkImage + imageView*: VkImageView + bufferView*: VkBufferView + plane*: VkImageAspectFlagBits + mtlTexture*: MTLTexture_id + VkImportMetalTextureInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + plane*: VkImageAspectFlagBits + mtlTexture*: MTLTexture_id + VkExportMetalIOSurfaceInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + image*: VkImage + ioSurface*: IOSurfaceRef + VkImportMetalIOSurfaceInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + ioSurface*: IOSurfaceRef + VkExportMetalSharedEventInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + semaphore*: VkSemaphore + event*: VkEvent + mtlSharedEvent*: MTLSharedEvent_id + VkImportMetalSharedEventInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + mtlSharedEvent*: MTLSharedEvent_id +# extension VK_EXT_metal_objects +var + vkExportMetalObjectsEXT*: proc(device: VkDevice, pMetalObjectsInfo: ptr VkExportMetalObjectsInfoEXT): void {.stdcall.} +proc loadVK_EXT_metal_objects*(instance: VkInstance) = + vkExportMetalObjectsEXT = cast[proc(device: VkDevice, pMetalObjectsInfo: ptr VkExportMetalObjectsInfoEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkExportMetalObjectsEXT")) + +# extension VK_EXT_metal_surface +var + vkCreateMetalSurfaceEXT*: proc(instance: VkInstance, pCreateInfo: ptr VkMetalSurfaceCreateInfoEXT, pAllocator: ptr VkAllocationCallbacks, pSurface: ptr VkSurfaceKHR): VkResult {.stdcall.} +proc loadVK_EXT_metal_surface*(instance: VkInstance) = + loadVK_KHR_surface(instance) + vkCreateMetalSurfaceEXT = cast[proc(instance: VkInstance, pCreateInfo: ptr VkMetalSurfaceCreateInfoEXT, pAllocator: ptr VkAllocationCallbacks, pSurface: ptr VkSurfaceKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateMetalSurfaceEXT"))